gnucash unstable: Multiple changes pushed

Geert Janssens gjanssens at code.gnucash.org
Tue Feb 27 16:50:50 EST 2018


Updated	 via  https://github.com/Gnucash/gnucash/commit/02c69a79 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ba799feb (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3462abe7 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/72a48c08 (commit)
	from  https://github.com/Gnucash/gnucash/commit/06ad55ca (commit)



commit 02c69a7933a9a00e9c4fb4eafc45731ec1c02e0e
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Tue Feb 27 22:21:00 2018 +0100

    Handle situation where gettext 0.19.6 is not available
    
    By default we require gettext 0.19.6 as this is needed to generate a translated version of gnucash.desktop and gnucash.appdata.xml.
    However this version is not available on some platforms (most notably our own ubuntu 14.04LTS travis instance).
    By setting ALLOW_OLD_GETTEXT=ON, the build configuration falls back to generating untranslated versions of said files instead.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 295c40f..81b6c13 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -66,6 +66,7 @@ OPTION (DISABLE_NLS "do not use Native Language Support" OFF)
 OPTION (DISABLE_DEPRECATED_GLIB "don't use deprecated glib functions" OFF)
 OPTION (DISABLE_DEPRECATED_GTK "don't use deprecated gtk, gdk or gdk-pixbuf functions" OFF)
 OPTION (DISABLE_DEPRECATED_GNOME "don't use deprecated gnome functions" OFF)
+OPTION (ALLOW_OLD_GETTEXT "allow to configure build with a gettext version older than 0.19.6. Some files will not be translated!" OFF)
 # ############################################################
 
 # These are also settable from the command line in a similar way.
@@ -248,15 +249,27 @@ ENDIF()
 
 
 FIND_PROGRAM(GLIB_COMPILE_SCHEMAS glib-compile-schemas HINTS ${CMAKE_PREFIX_PATH}/gnome/bin)
-FIND_PROGRAM(MSGFMT msgfmt)
-
 IF (NOT GLIB_COMPILE_SCHEMAS)
   MESSAGE(SEND_ERROR "Can't find glib-compile-schemas program. Please set GLIB_COMPILE_SCHEMAS.")
 ENDIF(NOT GLIB_COMPILE_SCHEMAS)
 
-IF (NOT MSGFMT)
-  MESSAGE(SEND_ERROR "Can't find msgfmt program. Please set MSGFMT.")
-ENDIF(NOT MSGFMT)
+if (ALLOW_OLD_GETTEXT)
+    find_package (Gettext REQUIRED)
+else (ALLOW_OLD_GETTEXT)
+    find_package (Gettext 0.19.6)
+    if (NOT GETTEXT_FOUND)
+        message (FATAL_ERROR "Note the build can be configured with an older version of gnucash by setting ALLOW_OLD_GETTEXT=ON but then some files will not be translated:
+        - gnucash.desktop (requires at least gettext 0.19)
+        - gnucash.appdata.xml (requires at least gettext 0.19.6)")
+    endif (NOT GETTEXT_FOUND)
+endif (ALLOW_OLD_GETTEXT)
+
+if (${GETTEXT_VERSION_STRING} VERSION_LESS 0.19)
+    message (WARNING "Got gettext version ${GETTEXT_VERSION_STRING}, however you need at least gettext version 0.19 in order to handle translation of the gnucash.desktop file. The build will be configured with an untranslated gnucash.desktop file.")
+endif ()
+if (${GETTEXT_VERSION_STRING} VERSION_LESS 0.19.6)
+    message (WARNING "Got gettext version ${GETTEXT_VERSION_STRING}, however you need at least gettext version 0.19.6 in order to handle translation of the gnucash.appdata file. The build will be configured with an untranslated gnucash.appdata file.")
+endif ()
 
 FIND_PATH (REGEX_INCLUDE_PATH NAMES regex.h
 		  PATHS /usr/include /opt/gnome/include)
diff --git a/gnucash/gnome/CMakeLists.txt b/gnucash/gnome/CMakeLists.txt
index be1ceb7..fc5f1e2 100644
--- a/gnucash/gnome/CMakeLists.txt
+++ b/gnucash/gnome/CMakeLists.txt
@@ -167,15 +167,24 @@ IF (${CMAKE_VERSION} VERSION_GREATER 3.1)
   SET(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
 ENDIF()
 
-ADD_CUSTOM_COMMAND(
-    OUTPUT gnucash.appdata.xml
-    COMMAND ${CMAKE_COMMAND_TMP}
-      LC_ALL=C
-      ${MSGFMT} --xml --template ${CMAKE_CURRENT_SOURCE_DIR}/gnucash.appdata.xml.in
+
+if (${GETTEXT_VERSION_STRING} VERSION_LESS 0.19.6)
+    # Gettext is too old to be able to merge an appdata file.
+    # Fall back to providing an unmerged (and hence untranslated) appdata file.
+    configure_file (${CMAKE_CURRENT_SOURCE_DIR}/gnucash.appdata.xml.in
+                    ${CMAKE_CURRENT_BINARY_DIR}/gnucash.appdata.xml COPYONLY)
+else()
+    add_custom_command (
+        OUTPUT gnucash.appdata.xml
+        COMMAND ${CMAKE_COMMAND_TMP}
+            LC_ALL=C
+            ${GETTEXT_MSGFMT_EXECUTABLE}
+                --xml --template ${CMAKE_CURRENT_SOURCE_DIR}/gnucash.appdata.xml.in
                 -d ${CMAKE_SOURCE_DIR}/po
                 -o gnucash.appdata.xml
-    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/gnucash.appdata.xml.in
-)
+        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/gnucash.appdata.xml.in
+    )
+endif()
 
 ADD_CUSTOM_TARGET(gnucash-appdata ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/gnucash.appdata.xml)
 
@@ -185,15 +194,23 @@ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/gnucash.appdata.xml DESTINATION  ${CMA
 
 configure_file(gnucash.desktop.in.in gnucash.desktop.in)
 
-ADD_CUSTOM_COMMAND(
-    OUTPUT gnucash.desktop
-    COMMAND ${CMAKE_COMMAND_TMP}
-      LC_ALL=C
-      ${MSGFMT} --desktop --template gnucash.desktop.in
+if (${GETTEXT_VERSION_STRING} VERSION_LESS 0.19)
+    # Gettext is too old to be able to merge a desktop file.
+    # Fall back to providing an unmerged (and hence untranslated) desktop file.
+    configure_file (${CMAKE_CURRENT_BINARY_DIR}/gnucash.desktop.in
+                    ${CMAKE_CURRENT_BINARY_DIR}/gnucash.desktop COPYONLY)
+else()
+    add_custom_command (
+        OUTPUT gnucash.desktop
+        COMMAND ${CMAKE_COMMAND_TMP}
+            LC_ALL=C
+            ${GETTEXT_MSGFMT_EXECUTABLE}
+                --desktop --template gnucash.desktop.in
                 -d ${CMAKE_SOURCE_DIR}/po
                 -o gnucash.desktop
-    DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/gnucash.desktop.in
-)
+        DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/gnucash.desktop.in
+    )
+endif()
 
 ADD_CUSTOM_TARGET(gnucash-desktop ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/gnucash.desktop)
 
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
index 3896060..2e83767 100644
--- a/po/CMakeLists.txt
+++ b/po/CMakeLists.txt
@@ -35,7 +35,9 @@ FOREACH(lingua ${ALL_LINGUAS})
   LIST(APPEND CATALOGS ${_OUTPUT_FILE})
   ADD_CUSTOM_COMMAND(
       OUTPUT ${_OUTPUT_FILE}
-      COMMAND ${CMAKE_COMMAND_TMP} ${MSGFMT} -o ${_OUTPUT_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${lingua}.po
+      COMMAND ${CMAKE_COMMAND_TMP}
+        ${GETTEXT_MSGFMT_EXECUTABLE}
+            -o ${_OUTPUT_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${lingua}.po
   )
   SET(_BUILD_FILE_DIR ${DATADIR_BUILD}/locale/${lingua}/LC_MESSAGES)
   MAKE_DIRECTORY(${_BUILD_FILE_DIR})
diff --git a/util/ci/arch-testscript b/util/ci/arch-testscript
index 45f541a..bf59cb4 100644
--- a/util/ci/arch-testscript
+++ b/util/ci/arch-testscript
@@ -12,7 +12,9 @@
 mkdir ourpython_bin
 ln -s /usr/bin/python2 ourpython_bin/python
 export PATH=/ourpython_bin:"$PATH"
+export PLATFORM_CMAKE_OPTS=
 echo path is "$PATH"
 echo python version is "$(python --version)"
+echo PLATFORM_CMAKE_OPTS= "$PLATFORM_CMAKE_OPTS"
 
 ../commonbuild
diff --git a/util/ci/commonbuild b/util/ci/commonbuild
index 8fb3f00..9b1875d 100644
--- a/util/ci/commonbuild
+++ b/util/ci/commonbuild
@@ -7,11 +7,11 @@ cd build
 export TZ="America/Los_Angeles"
 
 if [[ "$BUILDTYPE" == "cmake-make" ]]; then
-    cmake ../gnucash
+    cmake ../gnucash $PLATFORM_CMAKE_OPTS
     make -j 4
     make check || ../afterfailure
 elif [[ "$BUILDTYPE" == "cmake-ninja" ]]; then
-    cmake ../gnucash -DWITH_PYTHON=ON -DCMAKE_BUILD_TYPE=debug -G Ninja
+    cmake ../gnucash -DWITH_PYTHON=ON -DCMAKE_BUILD_TYPE=debug -G Ninja $PLATFORM_CMAKE_OPTS
     ninja
     ninja check || ../afterfailure;
 else
diff --git a/util/ci/ubuntu-14.04-testscript b/util/ci/ubuntu-14.04-testscript
index 1582688..a187801 100644
--- a/util/ci/ubuntu-14.04-testscript
+++ b/util/ci/ubuntu-14.04-testscript
@@ -4,5 +4,7 @@
 #  exit immediately.
 
 export GTEST_ROOT=/gtest/googletest GMOCK_ROOT=/gtest/googlemock
+export PLATFORM_CMAKE_OPTS="-DALLOW_OLD_GETTEXT=ON"
+echo PLATFORM_CMAKE_OPTS= "$PLATFORM_CMAKE_OPTS"
 
 ../commonbuild

commit ba799feb2a13341a14f96f1b491f27255cc94ed8
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Tue Feb 27 15:45:38 2018 +0100

    Drop intltool in favour or using modern gettext
    
    This requires at least gettext 0.19.6, and will break our ubuntu 14.04LTS test instance on Travis.
    The next commit will work around this.

diff --git a/.gitignore b/.gitignore
index 7cb7509..478f7a1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -66,6 +66,7 @@ make-gnucash-potfiles
 missing
 mkinstalldirs
 po/.intltool-merge-cache
+po/LINGUAS
 po/Makefile.in.in
 po/POTFILES
 po/POTFILES.in
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2038ec3..295c40f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -172,8 +172,6 @@ IF (WIN32)
   SET(REGEX_LDFLAGS "-L${REGEX_LIB_PATH} -lregex")
   #SET(LIBXSLT_INCLUDE_DIR ${CMAKE_PREFIX_PATH}/libxslt/include)
   #SET(LIBXSLT_XSLTPROC_EXECUTABLE ${CMAKE_PREFIX_PATH}/libxslt/bin/xsltproc)
-  # I have not yet debugged the intltool-merge file generation process on Windows.
-  SET(NO_INTLTOOL TRUE)
 #Prevent creating a console window on startup.
   SET(CMAKE_EXE_LINKER_FLAGS -mwindows)
 ENDIF(WIN32)
@@ -249,12 +247,8 @@ ENDIF()
 
 
 
-FIND_PROGRAM(INTLTOOL_MERGE NAMES intltool-merge HINTS ${CMAKE_PREFIX_PATH}/gnome/bin)
 FIND_PROGRAM(GLIB_COMPILE_SCHEMAS glib-compile-schemas HINTS ${CMAKE_PREFIX_PATH}/gnome/bin)
 FIND_PROGRAM(MSGFMT msgfmt)
-IF(NOT INTLTOOL_MERGE)
-  MESSAGE(SEND_ERROR "Can't find intltool-merge program. Please set INTLTOOL_MERGE.")
-ENDIF(NOT INTLTOOL_MERGE)
 
 IF (NOT GLIB_COMPILE_SCHEMAS)
   MESSAGE(SEND_ERROR "Can't find glib-compile-schemas program. Please set GLIB_COMPILE_SCHEMAS.")
diff --git a/common/cmake_modules/GncAddGSchemaTargets.cmake b/common/cmake_modules/GncAddGSchemaTargets.cmake
index 8c519f9..4c0a650 100644
--- a/common/cmake_modules/GncAddGSchemaTargets.cmake
+++ b/common/cmake_modules/GncAddGSchemaTargets.cmake
@@ -11,17 +11,9 @@ macro(add_gschema_targets _gschema_INPUTS)
     SET(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
   ENDIF()
   FOREACH(file ${_gschema_INPUTS})
-    configure_file(${file}.in.in ${file}.in @ONLY)
 
     set(_OUTPUT_FILE ${DATADIR_BUILD}/glib-2.0/schemas/${file})
-    ADD_CUSTOM_COMMAND(
-        OUTPUT ${_OUTPUT_FILE}
-        COMMAND ${CMAKE_COMMAND_TMP}
-          LC_ALL=C
-          ${PERL_EXECUTABLE} ${INTLTOOL_MERGE} -x -u ${INITTOOL_OPTIONS} ${CMAKE_CURRENT_BINARY_DIR}/${file}.in ${_OUTPUT_FILE}
-        DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${file}.in
-        MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/${file}.in.in
-    )
+    configure_file(${file}.in ${_OUTPUT_FILE} @ONLY)
     list(APPEND _gschema_OUTPUTS ${_OUTPUT_FILE})
 
     string(REPLACE ".xml" ".valid" file_no_xml ${file})
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index 56296e8..a369e57 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -19,7 +19,7 @@ SET(doc_DATA
 
 SET(doc_noinst_DATA
         build-aix.txt build-solaris.txt CMakeLists.txt gnc-fq-dump.1 gnc-fq-helper.1 gnucash.1.in
-        misc-notes.txt README.HBCI README.OFX README.translator.txt tip_of_the_day.list.in
+        misc-notes.txt README.HBCI README.OFX README.translator.txt tip_of_the_day.list.c
         TRANSLATION_HOWTO)
 
 INSTALL(FILES ${doc_DATA} DESTINATION  ${CMAKE_INSTALL_DOCDIR})
@@ -32,7 +32,7 @@ FILE(COPY ${doc_DATA} DESTINATION ${DATADIR_BUILD}/doc/gnucash)
 # Generate the tip of the day file.
 
 EXECUTE_PROCESS(
-    COMMAND ${CMAKE_C_COMPILER} -E -P -x c -DN_\(x\)=x -o ${CMAKE_CURRENT_BINARY_DIR}/tip_of_the_day.list.tmp ${CMAKE_CURRENT_SOURCE_DIR}/tip_of_the_day.list.in
+    COMMAND ${CMAKE_C_COMPILER} -E -P -x c -DN_\(x\)=x -o ${CMAKE_CURRENT_BINARY_DIR}/tip_of_the_day.list.tmp ${CMAKE_CURRENT_SOURCE_DIR}/tip_of_the_day.list.c
 )
 
 FILE(STRINGS ${CMAKE_CURRENT_BINARY_DIR}/tip_of_the_day.list.tmp TIP_OF_THE_DAY_LINES)
diff --git a/doc/tip_of_the_day.list.in b/doc/tip_of_the_day.list.c
similarity index 100%
rename from doc/tip_of_the_day.list.in
rename to doc/tip_of_the_day.list.c
diff --git a/gnucash/gnome-utils/CMakeLists.txt b/gnucash/gnome-utils/CMakeLists.txt
index 95b179c..065ec9d 100644
--- a/gnucash/gnome-utils/CMakeLists.txt
+++ b/gnucash/gnome-utils/CMakeLists.txt
@@ -10,21 +10,21 @@ gnc_add_swig_guile_command (swig-gnome-utils-c
     ${CMAKE_CURRENT_SOURCE_DIR}/gnome-utils.i
 )
 
-SET (WARNINGS_SCHEMA ../gschemas/org.gnucash.warnings.gschema.xml.in)
+SET (WARNINGS_SCHEMA ${DATADIR_BUILD}/glib-2.0/schemas/org.gnucash.warnings.gschema.xml)
 SET (GNC_WARNINGS_C ${CMAKE_CURRENT_BINARY_DIR}/gnc-warnings.c)
 SET (GNC_WARNINGS_H ${CMAKE_CURRENT_BINARY_DIR}/gnc-warnings.h)
 
 ADD_CUSTOM_COMMAND(
   OUTPUT ${GNC_WARNINGS_C}
-  DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${WARNINGS_SCHEMA} make-gnc-warnings-c.xsl
+  DEPENDS ${WARNINGS_SCHEMA} make-gnc-warnings-c.xsl
   COMMAND
-    ${LIBXSLT_XSLTPROC_EXECUTABLE} -o ${GNC_WARNINGS_C} ${CMAKE_CURRENT_SOURCE_DIR}/make-gnc-warnings-c.xsl ${CMAKE_CURRENT_BINARY_DIR}/${WARNINGS_SCHEMA}
+    ${LIBXSLT_XSLTPROC_EXECUTABLE} -o ${GNC_WARNINGS_C} ${CMAKE_CURRENT_SOURCE_DIR}/make-gnc-warnings-c.xsl ${WARNINGS_SCHEMA}
 )
 ADD_CUSTOM_COMMAND(
   OUTPUT ${GNC_WARNINGS_H}
-  DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${WARNINGS_SCHEMA} make-gnc-warnings-h.xsl
+  DEPENDS ${WARNINGS_SCHEMA} make-gnc-warnings-h.xsl
   COMMAND
-    ${LIBXSLT_XSLTPROC_EXECUTABLE} -o ${GNC_WARNINGS_H} ${CMAKE_CURRENT_SOURCE_DIR}/make-gnc-warnings-h.xsl ${CMAKE_CURRENT_BINARY_DIR}/${WARNINGS_SCHEMA}
+    ${LIBXSLT_XSLTPROC_EXECUTABLE} -o ${GNC_WARNINGS_H} ${CMAKE_CURRENT_SOURCE_DIR}/make-gnc-warnings-h.xsl ${WARNINGS_SCHEMA}
 )
 
 #GTK before 3.14 didn't have GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK
diff --git a/gnucash/gnome/CMakeLists.txt b/gnucash/gnome/CMakeLists.txt
index 111fc49..be1ceb7 100644
--- a/gnucash/gnome/CMakeLists.txt
+++ b/gnucash/gnome/CMakeLists.txt
@@ -171,8 +171,9 @@ ADD_CUSTOM_COMMAND(
     OUTPUT gnucash.appdata.xml
     COMMAND ${CMAKE_COMMAND_TMP}
       LC_ALL=C
-      ${PERL_EXECUTABLE} ${INTLTOOL_MERGE} -x -u -c ${CMAKE_SOURCE_DIR}/po/.intltool-merge-cache ${CMAKE_SOURCE_DIR}/po
-        ${CMAKE_CURRENT_SOURCE_DIR}/gnucash.appdata.xml.in gnucash.appdata.xml
+      ${MSGFMT} --xml --template ${CMAKE_CURRENT_SOURCE_DIR}/gnucash.appdata.xml.in
+                -d ${CMAKE_SOURCE_DIR}/po
+                -o gnucash.appdata.xml
     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/gnucash.appdata.xml.in
 )
 
@@ -188,8 +189,9 @@ ADD_CUSTOM_COMMAND(
     OUTPUT gnucash.desktop
     COMMAND ${CMAKE_COMMAND_TMP}
       LC_ALL=C
-      ${PERL_EXECUTABLE} ${INTLTOOL_MERGE} -d -u -c ${CMAKE_SOURCE_DIR}/po/.intltool-merge-cache ${CMAKE_SOURCE_DIR}/po
-        gnucash.desktop.in gnucash.desktop
+      ${MSGFMT} --desktop --template gnucash.desktop.in
+                -d ${CMAKE_SOURCE_DIR}/po
+                -o gnucash.desktop
     DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/gnucash.desktop.in
 )
 
diff --git a/gnucash/gnome/gnucash.appdata.xml.in b/gnucash/gnome/gnucash.appdata.xml.in
index 72e53f8..4b9dbec 100644
--- a/gnucash/gnome/gnucash.appdata.xml.in
+++ b/gnucash/gnome/gnucash.appdata.xml.in
@@ -6,22 +6,22 @@
   <name>GnuCash</name>
   <summary>Manage your finances, accounts, and investments</summary>
   <description>
-    <_p>
+    <p>
       GnuCash is a program for personal and small-business financial-accounting.
-    </_p>
-    <_p>
+    </p>
+    <p>
       Designed to be easy to use, yet powerful and flexible, GnuCash allows you to track bank accounts, stocks, income and expenses. As quick and intuitive to use as a checkbook register, it is based on professional accounting principles like double-entry
       accounting to ensure balanced books and accurate reports.
-    </_p>
-    <_p>With GnuCash you can (but are not limited to):</_p>
+    </p>
+    <p>With GnuCash you can (but are not limited to):</p>
     <ul>
-      <_li>Keep track of your day to day personal income and expenses</_li>
-      <_li>Manage your stock, bond and mutual fund accounts with ease</_li>
-      <_li>Keep your small business' accounting up to date</_li>
-      <_li>Create accurate reports and graphs from your financial data</_li>
-      <_li>Set up scheduled transactions to avoid repeated data entry</_li>
-      <_li>QIF/OFX/HBCI Import, Transaction Matching</_li>
-      <_li>Perform financial calculations, such as a loan repayment</_li>
+      <li>Keep track of your day to day personal income and expenses</li>
+      <li>Manage your stock, bond and mutual fund accounts with ease</li>
+      <li>Keep your small business' accounting up to date</li>
+      <li>Create accurate reports and graphs from your financial data</li>
+      <li>Set up scheduled transactions to avoid repeated data entry</li>
+      <li>QIF/OFX/HBCI Import, Transaction Matching</li>
+      <li>Perform financial calculations, such as a loan repayment</li>
     </ul>
   </description>
   <categories>
diff --git a/gnucash/gnome/gnucash.desktop.in.in b/gnucash/gnome/gnucash.desktop.in.in
index 6514737..ed28df3 100644
--- a/gnucash/gnome/gnucash.desktop.in.in
+++ b/gnucash/gnome/gnucash.desktop.in.in
@@ -2,9 +2,9 @@
 Type=Application
 MimeType=application/x-gnucash;
 Version=0.9.4
-_Name=GnuCash
-_GenericName=Finance Management
-_Comment=Manage your finances, accounts, and investments
+Name=GnuCash
+GenericName=Finance Management
+Comment=Manage your finances, accounts, and investments
 Exec=gnucash %f
 Icon=gnucash-icon
 StartupNotify=true
diff --git a/gnucash/gschemas/CMakeLists.txt b/gnucash/gschemas/CMakeLists.txt
index a4bcc97..9c7b1e0 100644
--- a/gnucash/gschemas/CMakeLists.txt
+++ b/gnucash/gschemas/CMakeLists.txt
@@ -38,6 +38,6 @@ install(CODE "execute_process(
 
 SET(gschemas_DIST_local "")
 FOREACH(file ${gschema_SOURCES})
-    LIST(APPEND gschemas_DIST_local ${file}.in.in)
+    LIST(APPEND gschemas_DIST_local ${file}.in)
 ENDFOREACH()
 SET_DIST_LIST(gschemas_DIST CMakeLists.txt ${gschemas_DIST_local})
diff --git a/gnucash/gschemas/org.gnucash.dialogs.business.gschema.xml.in.in b/gnucash/gschemas/org.gnucash.dialogs.business.gschema.xml.in
similarity index 100%
rename from gnucash/gschemas/org.gnucash.dialogs.business.gschema.xml.in.in
rename to gnucash/gschemas/org.gnucash.dialogs.business.gschema.xml.in
diff --git a/gnucash/gschemas/org.gnucash.dialogs.checkprinting.gschema.xml.in.in b/gnucash/gschemas/org.gnucash.dialogs.checkprinting.gschema.xml.in
similarity index 100%
rename from gnucash/gschemas/org.gnucash.dialogs.checkprinting.gschema.xml.in.in
rename to gnucash/gschemas/org.gnucash.dialogs.checkprinting.gschema.xml.in
diff --git a/gnucash/gschemas/org.gnucash.dialogs.commodities.gschema.xml.in.in b/gnucash/gschemas/org.gnucash.dialogs.commodities.gschema.xml.in
similarity index 100%
rename from gnucash/gschemas/org.gnucash.dialogs.commodities.gschema.xml.in.in
rename to gnucash/gschemas/org.gnucash.dialogs.commodities.gschema.xml.in
diff --git a/gnucash/gschemas/org.gnucash.dialogs.gschema.xml.in.in b/gnucash/gschemas/org.gnucash.dialogs.gschema.xml.in
similarity index 100%
rename from gnucash/gschemas/org.gnucash.dialogs.gschema.xml.in.in
rename to gnucash/gschemas/org.gnucash.dialogs.gschema.xml.in
diff --git a/gnucash/gschemas/org.gnucash.dialogs.reconcile.gschema.xml.in.in b/gnucash/gschemas/org.gnucash.dialogs.reconcile.gschema.xml.in
similarity index 100%
rename from gnucash/gschemas/org.gnucash.dialogs.reconcile.gschema.xml.in.in
rename to gnucash/gschemas/org.gnucash.dialogs.reconcile.gschema.xml.in
diff --git a/gnucash/gschemas/org.gnucash.dialogs.sxs.gschema.xml.in.in b/gnucash/gschemas/org.gnucash.dialogs.sxs.gschema.xml.in
similarity index 100%
rename from gnucash/gschemas/org.gnucash.dialogs.sxs.gschema.xml.in.in
rename to gnucash/gschemas/org.gnucash.dialogs.sxs.gschema.xml.in
diff --git a/gnucash/gschemas/org.gnucash.dialogs.totd.gschema.xml.in.in b/gnucash/gschemas/org.gnucash.dialogs.totd.gschema.xml.in
similarity index 100%
rename from gnucash/gschemas/org.gnucash.dialogs.totd.gschema.xml.in.in
rename to gnucash/gschemas/org.gnucash.dialogs.totd.gschema.xml.in
diff --git a/gnucash/gschemas/org.gnucash.general.finance-quote.gschema.xml.in.in b/gnucash/gschemas/org.gnucash.general.finance-quote.gschema.xml.in
similarity index 100%
rename from gnucash/gschemas/org.gnucash.general.finance-quote.gschema.xml.in.in
rename to gnucash/gschemas/org.gnucash.general.finance-quote.gschema.xml.in
diff --git a/gnucash/gschemas/org.gnucash.gschema.xml.in.in b/gnucash/gschemas/org.gnucash.gschema.xml.in
similarity index 100%
rename from gnucash/gschemas/org.gnucash.gschema.xml.in.in
rename to gnucash/gschemas/org.gnucash.gschema.xml.in
diff --git a/gnucash/gschemas/org.gnucash.history.gschema.xml.in.in b/gnucash/gschemas/org.gnucash.history.gschema.xml.in
similarity index 100%
rename from gnucash/gschemas/org.gnucash.history.gschema.xml.in.in
rename to gnucash/gschemas/org.gnucash.history.gschema.xml.in
diff --git a/gnucash/gschemas/org.gnucash.warnings.gschema.xml.in.in b/gnucash/gschemas/org.gnucash.warnings.gschema.xml.in
similarity index 100%
rename from gnucash/gschemas/org.gnucash.warnings.gschema.xml.in.in
rename to gnucash/gschemas/org.gnucash.warnings.gschema.xml.in
diff --git a/gnucash/gschemas/org.gnucash.window.pages.account.tree.gschema.xml.in.in b/gnucash/gschemas/org.gnucash.window.pages.account.tree.gschema.xml.in
similarity index 100%
rename from gnucash/gschemas/org.gnucash.window.pages.account.tree.gschema.xml.in.in
rename to gnucash/gschemas/org.gnucash.window.pages.account.tree.gschema.xml.in
diff --git a/gnucash/gschemas/org.gnucash.window.pages.gschema.xml.in.in b/gnucash/gschemas/org.gnucash.window.pages.gschema.xml.in
similarity index 100%
rename from gnucash/gschemas/org.gnucash.window.pages.gschema.xml.in.in
rename to gnucash/gschemas/org.gnucash.window.pages.gschema.xml.in
diff --git a/gnucash/import-export/aqb/gschemas/CMakeLists.txt b/gnucash/import-export/aqb/gschemas/CMakeLists.txt
index e97fa4f..b22f8eb 100644
--- a/gnucash/import-export/aqb/gschemas/CMakeLists.txt
+++ b/gnucash/import-export/aqb/gschemas/CMakeLists.txt
@@ -5,4 +5,4 @@ IF (WITH_AQBANKING)
   add_gschema_targets("${aqb_GSCHEMA}")
 ENDIF(WITH_AQBANKING)
 
-SET_DIST_LIST(aqbanking_gschema_DIST CMakeLists.txt org.gnucash.dialogs.import.hbci.gschema.xml.in.in)
+SET_DIST_LIST(aqbanking_gschema_DIST CMakeLists.txt org.gnucash.dialogs.import.hbci.gschema.xml.in)
diff --git a/gnucash/import-export/aqb/gschemas/org.gnucash.dialogs.import.hbci.gschema.xml.in.in b/gnucash/import-export/aqb/gschemas/org.gnucash.dialogs.import.hbci.gschema.xml.in
similarity index 100%
rename from gnucash/import-export/aqb/gschemas/org.gnucash.dialogs.import.hbci.gschema.xml.in.in
rename to gnucash/import-export/aqb/gschemas/org.gnucash.dialogs.import.hbci.gschema.xml.in
diff --git a/gnucash/import-export/csv-exp/gschemas/CMakeLists.txt b/gnucash/import-export/csv-exp/gschemas/CMakeLists.txt
index 04c045c..8f8abd1 100644
--- a/gnucash/import-export/csv-exp/gschemas/CMakeLists.txt
+++ b/gnucash/import-export/csv-exp/gschemas/CMakeLists.txt
@@ -3,4 +3,4 @@ SET(csv_exp_GSCHEMA org.gnucash.dialogs.export.csv.gschema.xml)
 
 add_gschema_targets("${csv_exp_GSCHEMA}")
 
-SET_DIST_LIST(csv_exp_gschema_DIST CMakeLists.txt org.gnucash.dialogs.export.csv.gschema.xml.in.in)
+SET_DIST_LIST(csv_exp_gschema_DIST CMakeLists.txt org.gnucash.dialogs.export.csv.gschema.xml.in)
diff --git a/gnucash/import-export/csv-exp/gschemas/org.gnucash.dialogs.export.csv.gschema.xml.in.in b/gnucash/import-export/csv-exp/gschemas/org.gnucash.dialogs.export.csv.gschema.xml.in
similarity index 100%
rename from gnucash/import-export/csv-exp/gschemas/org.gnucash.dialogs.export.csv.gschema.xml.in.in
rename to gnucash/import-export/csv-exp/gschemas/org.gnucash.dialogs.export.csv.gschema.xml.in
diff --git a/gnucash/import-export/csv-imp/gschemas/CMakeLists.txt b/gnucash/import-export/csv-imp/gschemas/CMakeLists.txt
index 8dc5631..e108432 100644
--- a/gnucash/import-export/csv-imp/gschemas/CMakeLists.txt
+++ b/gnucash/import-export/csv-imp/gschemas/CMakeLists.txt
@@ -2,4 +2,4 @@ SET(csv_imp_GSCHEMA org.gnucash.dialogs.import.csv.gschema.xml)
 
 add_gschema_targets("${csv_imp_GSCHEMA}")
 
-SET_DIST_LIST(csv_import_gschema_DIST CMakeLists.txt org.gnucash.dialogs.import.csv.gschema.xml.in.in)
+SET_DIST_LIST(csv_import_gschema_DIST CMakeLists.txt org.gnucash.dialogs.import.csv.gschema.xml.in)
diff --git a/gnucash/import-export/csv-imp/gschemas/org.gnucash.dialogs.import.csv.gschema.xml.in.in b/gnucash/import-export/csv-imp/gschemas/org.gnucash.dialogs.import.csv.gschema.xml.in
similarity index 100%
rename from gnucash/import-export/csv-imp/gschemas/org.gnucash.dialogs.import.csv.gschema.xml.in.in
rename to gnucash/import-export/csv-imp/gschemas/org.gnucash.dialogs.import.csv.gschema.xml.in
diff --git a/gnucash/import-export/gschemas/CMakeLists.txt b/gnucash/import-export/gschemas/CMakeLists.txt
index 4f3f74d..e5290f1 100644
--- a/gnucash/import-export/gschemas/CMakeLists.txt
+++ b/gnucash/import-export/gschemas/CMakeLists.txt
@@ -3,4 +3,4 @@ SET(generic_import_GSCHEMA org.gnucash.dialogs.import.generic.gschema.xml)
 
 add_gschema_targets("${generic_import_GSCHEMA}")
 
-SET_DIST_LIST(generic_import_gschema_DIST CMakeLists.txt org.gnucash.dialogs.import.generic.gschema.xml.in.in)
+SET_DIST_LIST(generic_import_gschema_DIST CMakeLists.txt org.gnucash.dialogs.import.generic.gschema.xml.in)
diff --git a/gnucash/import-export/gschemas/org.gnucash.dialogs.import.generic.gschema.xml.in.in b/gnucash/import-export/gschemas/org.gnucash.dialogs.import.generic.gschema.xml.in
similarity index 100%
rename from gnucash/import-export/gschemas/org.gnucash.dialogs.import.generic.gschema.xml.in.in
rename to gnucash/import-export/gschemas/org.gnucash.dialogs.import.generic.gschema.xml.in
diff --git a/gnucash/import-export/ofx/gschemas/CMakeLists.txt b/gnucash/import-export/ofx/gschemas/CMakeLists.txt
index 7cb99c2..89bcea4 100644
--- a/gnucash/import-export/ofx/gschemas/CMakeLists.txt
+++ b/gnucash/import-export/ofx/gschemas/CMakeLists.txt
@@ -5,4 +5,4 @@ IF (WITH_OFX)
   add_gschema_targets("${ofx_GSCHEMA}")
 ENDIF (WITH_OFX)
 
-SET_DIST_LIST(ofx_gschema_DIST CMakeLists.txt org.gnucash.dialogs.import.ofx.gschema.xml.in.in)
+SET_DIST_LIST(ofx_gschema_DIST CMakeLists.txt org.gnucash.dialogs.import.ofx.gschema.xml.in)
diff --git a/gnucash/import-export/ofx/gschemas/org.gnucash.dialogs.import.ofx.gschema.xml.in.in b/gnucash/import-export/ofx/gschemas/org.gnucash.dialogs.import.ofx.gschema.xml.in
similarity index 100%
rename from gnucash/import-export/ofx/gschemas/org.gnucash.dialogs.import.ofx.gschema.xml.in.in
rename to gnucash/import-export/ofx/gschemas/org.gnucash.dialogs.import.ofx.gschema.xml.in
diff --git a/gnucash/import-export/qif-imp/gschemas/CMakeLists.txt b/gnucash/import-export/qif-imp/gschemas/CMakeLists.txt
index ddb41bf..fa15f03 100644
--- a/gnucash/import-export/qif-imp/gschemas/CMakeLists.txt
+++ b/gnucash/import-export/qif-imp/gschemas/CMakeLists.txt
@@ -3,4 +3,4 @@ set(qif_imp_GSCHEMA org.gnucash.dialogs.import.qif.gschema.xml)
 
 add_gschema_targets("${qif_imp_GSCHEMA}")
 
-SET_DIST_LIST(qif_import_gschema_DIST CMakeLists.txt org.gnucash.dialogs.import.qif.gschema.xml.in.in)
+SET_DIST_LIST(qif_import_gschema_DIST CMakeLists.txt org.gnucash.dialogs.import.qif.gschema.xml.in)
diff --git a/gnucash/import-export/qif-imp/gschemas/org.gnucash.dialogs.import.qif.gschema.xml.in.in b/gnucash/import-export/qif-imp/gschemas/org.gnucash.dialogs.import.qif.gschema.xml.in
similarity index 100%
rename from gnucash/import-export/qif-imp/gschemas/org.gnucash.dialogs.import.qif.gschema.xml.in.in
rename to gnucash/import-export/qif-imp/gschemas/org.gnucash.dialogs.import.qif.gschema.xml.in
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
index 0f7ed91..3896060 100644
--- a/po/CMakeLists.txt
+++ b/po/CMakeLists.txt
@@ -9,6 +9,8 @@ SET (NEW_LINGUAS as brx doi es_NI kok kok at latin ks mai mni mni at bengali)
 
 SET (ALL_LINGUAS ${TP_LINGUAS} ${GC_LINGUAS} ${NEW_LINGUAS})
 
+file (WRITE LINGUAS "${ALL_LINGUAS}")
+
 SET (CATALOGS "")
 SET (BUILD_CATALOGS "")
 
@@ -18,12 +20,14 @@ IF (${CMAKE_VERSION} VERSION_GREATER 3.1)
 ENDIF()
 
 SET(po_SOURCES "")
+file (WRITE LINGUAS "")
 FOREACH(lingua ${ALL_LINGUAS})
   LIST(APPEND po_SOURCES ${lingua}.po)
+  file (APPEND LINGUAS "${lingua} ")
 ENDFOREACH()
 
 SET_LOCAL_DIST(po_DIST_local ${po_SOURCES} CMakeLists.txt ChangeLog Makevars
-  POTFILES.ignore POTFILES.in POTFILES.skip README check-po.cmake gnucash-pot.cmake)
+  POTFILES.ignore POTFILES.in POTFILES.skip README gnucash-pot.cmake)
 SET(po_DIST ${po_DIST_local} ${po_glossary_DIST} PARENT_SCOPE)
 
 FOREACH(lingua ${ALL_LINGUAS})
@@ -71,7 +75,7 @@ FUNCTION(MAKE_GNUCASH_POTFILES)
   # Create a list of candidate translation files
   FILE(GLOB_RECURSE FILES_IN RELATIVE ${CMAKE_SOURCE_DIR}
     ${CMAKE_SOURCE_DIR}/*.c ${CMAKE_SOURCE_DIR}/*.cpp ${CMAKE_SOURCE_DIR}/*.glade ${CMAKE_SOURCE_DIR}/*.desktop.in
-    ${CMAKE_SOURCE_DIR}/*.keys.in  ${CMAKE_SOURCE_DIR}/*.gschema.xml.in.in ${CMAKE_SOURCE_DIR}/*.scm)
+    ${CMAKE_SOURCE_DIR}/*.keys.in  ${CMAKE_SOURCE_DIR}/*.gschema.xml.in ${CMAKE_SOURCE_DIR}/*.scm)
 
   # Only consider files in the common, libgnucash, and gnucash/ directories. Also check against list of ignore patterns
   SET(FILES "")
@@ -119,7 +123,7 @@ FUNCTION(MAKE_GNUCASH_POTFILES)
     "gnucash/gnome/gnucash.appdata.xml.in"
     "gnucash/gnome/gnucash.desktop.in.in"
     "libgnucash/engine/qofbookslots.h"
-    "doc/tip_of_the_day.list.in")
+    "doc/tip_of_the_day.list.c")
 
   # Write out the final list.
   # intltool-update insists that this file be in the source directory. :-(
@@ -131,11 +135,6 @@ FUNCTION(MAKE_GNUCASH_POTFILES)
   set(POTFILE_DEPS "")
   FOREACH(path ${POTFILES})
     list(APPEND POTFILE_DEPS ${CMAKE_SOURCE_DIR}/${path})
-    STRING(REGEX MATCH gschema.xml.in.in IS_GSCHEMA ${path})
-    IF(IS_GSCHEMA)
-      # Force parse type for gsettings files
-      SET(path "[type: gettext/gsettings]${path}")
-    ENDIF()
     FILE(APPEND ${POTFILES_IN_PATH} "${path}\n")
   ENDFOREACH()
 
@@ -144,36 +143,24 @@ FUNCTION(MAKE_GNUCASH_POTFILES)
   set(gnucash_pot_depends ${POTFILE_DEPS}  CACHE INTERNAL "List of files with translatable strings. If any of these change, gnucash.pot should be regenerated")
 ENDFUNCTION()
 
-find_program(INTLTOOL_UPDATE NAMES intltool-update)
-IF (${INTLTOOL_UPDATE} STREQUAL "INTLTOOL_UPDATE-NOTFOUND")
-  MESSAGE(FATAL_ERROR "Can't find the 'intltool-update' program.")
-ENDIF ()
-
 IF(BUILDING_FROM_VCS)
 
   MAKE_GNUCASH_POTFILES()
 
-  find_program(INTLTOOL_EXTRACT NAMES intltool-extract)
   find_program(XGETTEXT xgettext)
   configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Makevars
     ${CMAKE_CURRENT_BINARY_DIR}/Makevars COPYONLY)
 
-  IF (${INTLTOOL_EXTRACT} STREQUAL "INTLTOOL_EXTRACT-NOTFOUND")
-    MESSAGE(FATAL_ERROR "Can't find the 'intltool-extract' program.")
-  ENDIF ()
-
   IF (${XGETTEXT} STREQUAL "XGETTEXT-NOTFOUND")
     MESSAGE(FATAL_ERROR "Can't find the 'xgettext' program.")
   ENDIF ()
 
   add_custom_command(OUTPUT gnucash.pot
         COMMAND ${CMAKE_COMMAND}
-           -D INTLTOOL_EXTRACT=${INTLTOOL_EXTRACT}
-           -D INTLTOOL_UPDATE=${INTLTOOL_UPDATE}
+           -D TOP_SRC_DIR=${CMAKE_SOURCE_DIR}
            -D PO_SRC_DIR=${CMAKE_CURRENT_SOURCE_DIR}
            -D PO_BIN_DIR=${CMAKE_CURRENT_BINARY_DIR}
            -D PACKAGE=${PACKAGE}
-           -D PERL=${PERL_EXECUTABLE}
            -D XGETTEXT=${XGETTEXT}
            -P ${CMAKE_CURRENT_SOURCE_DIR}/gnucash-pot.cmake
         DEPENDS ${gnucash_pot_depends}
@@ -182,13 +169,3 @@ IF(BUILDING_FROM_VCS)
   add_custom_target (pot DEPENDS gnucash.pot)
 ENDIF()
 dist_add_generated (${BUILDING_FROM_VCS} gnucash.pot)
-
-ADD_CUSTOM_TARGET(check-po
-        COMMAND ${CMAKE_COMMAND}
-           -D INTLTOOL_UPDATE=${INTLTOOL_UPDATE}
-           -D PO_DIR=${CMAKE_CURRENT_SOURCE_DIR}
-           -P check-po.cmake
-        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-)
-
-add_dependencies(check check-po)
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 24f70dd..aa029c3 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -238,19 +238,19 @@ gnucash/gnome-utils/search-param.c
 gnucash/gnome-utils/tree-view-utils.c
 gnucash/gnome-utils/window-main-summarybar.c
 gnucash/gnucash-bin.c
-[type: gettext/gsettings]gnucash/gschemas/org.gnucash.dialogs.business.gschema.xml.in.in
-[type: gettext/gsettings]gnucash/gschemas/org.gnucash.dialogs.checkprinting.gschema.xml.in.in
-[type: gettext/gsettings]gnucash/gschemas/org.gnucash.dialogs.commodities.gschema.xml.in.in
-[type: gettext/gsettings]gnucash/gschemas/org.gnucash.dialogs.gschema.xml.in.in
-[type: gettext/gsettings]gnucash/gschemas/org.gnucash.dialogs.reconcile.gschema.xml.in.in
-[type: gettext/gsettings]gnucash/gschemas/org.gnucash.dialogs.sxs.gschema.xml.in.in
-[type: gettext/gsettings]gnucash/gschemas/org.gnucash.dialogs.totd.gschema.xml.in.in
-[type: gettext/gsettings]gnucash/gschemas/org.gnucash.general.finance-quote.gschema.xml.in.in
-[type: gettext/gsettings]gnucash/gschemas/org.gnucash.gschema.xml.in.in
-[type: gettext/gsettings]gnucash/gschemas/org.gnucash.history.gschema.xml.in.in
-[type: gettext/gsettings]gnucash/gschemas/org.gnucash.warnings.gschema.xml.in.in
-[type: gettext/gsettings]gnucash/gschemas/org.gnucash.window.pages.account.tree.gschema.xml.in.in
-[type: gettext/gsettings]gnucash/gschemas/org.gnucash.window.pages.gschema.xml.in.in
+gnucash/gschemas/org.gnucash.dialogs.business.gschema.xml.in
+gnucash/gschemas/org.gnucash.dialogs.checkprinting.gschema.xml.in
+gnucash/gschemas/org.gnucash.dialogs.commodities.gschema.xml.in
+gnucash/gschemas/org.gnucash.dialogs.gschema.xml.in
+gnucash/gschemas/org.gnucash.dialogs.reconcile.gschema.xml.in
+gnucash/gschemas/org.gnucash.dialogs.sxs.gschema.xml.in
+gnucash/gschemas/org.gnucash.dialogs.totd.gschema.xml.in
+gnucash/gschemas/org.gnucash.general.finance-quote.gschema.xml.in
+gnucash/gschemas/org.gnucash.gschema.xml.in
+gnucash/gschemas/org.gnucash.history.gschema.xml.in
+gnucash/gschemas/org.gnucash.warnings.gschema.xml.in
+gnucash/gschemas/org.gnucash.window.pages.account.tree.gschema.xml.in
+gnucash/gschemas/org.gnucash.window.pages.gschema.xml.in
 gnucash/html/gnc-html.c
 gnucash/html/gnc-html-factory.c
 gnucash/html/gnc-html-history.c
@@ -272,7 +272,7 @@ gnucash/import-export/aqb/gnc-file-aqb-import.c
 gnucash/import-export/aqb/gnc-gwen-gui.c
 gnucash/import-export/aqb/gncmod-aqbanking.c
 gnucash/import-export/aqb/gnc-plugin-aqbanking.c
-[type: gettext/gsettings]gnucash/import-export/aqb/gschemas/org.gnucash.dialogs.import.hbci.gschema.xml.in.in
+gnucash/import-export/aqb/gschemas/org.gnucash.dialogs.import.hbci.gschema.xml.in
 gnucash/import-export/bi-import/dialog-bi-import.c
 gnucash/import-export/bi-import/dialog-bi-import-gui.c
 gnucash/import-export/bi-import/dialog-bi-import-helper.c
@@ -285,7 +285,7 @@ gnucash/import-export/csv-exp/csv-transactions-export.c
 gnucash/import-export/csv-exp/csv-tree-export.c
 gnucash/import-export/csv-exp/gncmod-csv-export.c
 gnucash/import-export/csv-exp/gnc-plugin-csv-export.c
-[type: gettext/gsettings]gnucash/import-export/csv-exp/gschemas/org.gnucash.dialogs.export.csv.gschema.xml.in.in
+gnucash/import-export/csv-exp/gschemas/org.gnucash.dialogs.export.csv.gschema.xml.in
 gnucash/import-export/csv-imp/assistant-csv-account-import.c
 gnucash/import-export/csv-imp/assistant-csv-account-import.glade
 gnucash/import-export/csv-imp/assistant-csv-price-import.cpp
@@ -308,7 +308,7 @@ gnucash/import-export/csv-imp/gnc-price-props.cpp
 gnucash/import-export/csv-imp/gnc-tokenizer.cpp
 gnucash/import-export/csv-imp/gnc-trans-props.cpp
 gnucash/import-export/csv-imp/gnc-tx-import.cpp
-[type: gettext/gsettings]gnucash/import-export/csv-imp/gschemas/org.gnucash.dialogs.import.csv.gschema.xml.in.in
+gnucash/import-export/csv-imp/gschemas/org.gnucash.dialogs.import.csv.gschema.xml.in
 gnucash/import-export/customer-import/dialog-customer-import.c
 gnucash/import-export/customer-import/dialog-customer-import-gui.c
 gnucash/import-export/customer-import/gncmod-customer-import.c
@@ -316,7 +316,7 @@ gnucash/import-export/customer-import/gnc-plugin-customer-import.c
 gnucash/import-export/customer-import/gtkbuilder/dialog-customer-import-gui.glade
 gnucash/import-export/dialog-import.glade
 gnucash/import-export/gncmod-generic-import.c
-[type: gettext/gsettings]gnucash/import-export/gschemas/org.gnucash.dialogs.import.generic.gschema.xml.in.in
+gnucash/import-export/gschemas/org.gnucash.dialogs.import.generic.gschema.xml.in
 gnucash/import-export/import-account-matcher.c
 gnucash/import-export/import-backend.c
 gnucash/import-export/import-commodity-matcher.c
@@ -334,7 +334,7 @@ gnucash/import-export/ofx/gncmod-ofx-import.c
 gnucash/import-export/ofx/gnc-ofx-import.c
 gnucash/import-export/ofx/gnc-ofx-kvp.c
 gnucash/import-export/ofx/gnc-plugin-ofx.c
-[type: gettext/gsettings]gnucash/import-export/ofx/gschemas/org.gnucash.dialogs.import.ofx.gschema.xml.in.in
+gnucash/import-export/ofx/gschemas/org.gnucash.dialogs.import.ofx.gschema.xml.in
 gnucash/import-export/qif/qif-context.c
 gnucash/import-export/qif/qif-file.c
 gnucash/import-export/qif/qif-objects.c
@@ -344,7 +344,7 @@ gnucash/import-export/qif-imp/dialog-account-picker.c
 gnucash/import-export/qif-imp/dialog-account-picker.glade
 gnucash/import-export/qif-imp/gncmod-qif-import.c
 gnucash/import-export/qif-imp/gnc-plugin-qif-import.c
-[type: gettext/gsettings]gnucash/import-export/qif-imp/gschemas/org.gnucash.dialogs.import.qif.gschema.xml.in.in
+gnucash/import-export/qif-imp/gschemas/org.gnucash.dialogs.import.qif.gschema.xml.in
 gnucash/import-export/qif-imp/qif-dialog-utils.scm
 gnucash/import-export/qif-imp/qif-file.scm
 gnucash/import-export/qif-imp/qif-guess-map.scm
@@ -707,4 +707,4 @@ libgnucash/tax/us/us.scm
 gnucash/gnome/gnucash.appdata.xml.in
 gnucash/gnome/gnucash.desktop.in.in
 libgnucash/engine/qofbookslots.h
-doc/tip_of_the_day.list.in
+doc/tip_of_the_day.list.c
diff --git a/po/check-po.cmake b/po/check-po.cmake
deleted file mode 100644
index 6a4dbd7..0000000
--- a/po/check-po.cmake
+++ /dev/null
@@ -1,23 +0,0 @@
-
-# Run intltool-update -m to check for missing files in POTFILES.in
-# We detect failure by looking for the presence of a 'missing' file.
-
-# Intltool returns a zero status whether or not the check failed.
-
-FILE(REMOVE ${PO_DIR}/missing)
-IF (${CMAKE_VERSION} VERSION_GREATER 3.1)
-  EXECUTE_PROCESS(
-          COMMAND ${CMAKE_COMMAND} -E env ${INTLTOOL_UPDATE} -m
-          WORKING_DIRECTORY ${PO_DIR}
-  )
-ELSE()
-  EXECUTE_PROCESS(
-          COMMAND ${INTLTOOL_UPDATE} -m
-          WORKING_DIRECTORY ${PO_DIR}
-          RESULT_VARIABLE UPDATE_RESULT
-  )
-  MESSAGE("UPDATE_RESULT = ${UPDATE_RESULT}")
-ENDIF()
-IF (EXISTS ${PO_DIR}/missing)
-  MESSAGE(FATAL_ERROR "POTFILES.in is missing files. See 'missing' in ${PO_DIR}")
-ENDIF()
diff --git a/po/gnucash-pot.cmake b/po/gnucash-pot.cmake
index 8ac951e..c3db591 100644
--- a/po/gnucash-pot.cmake
+++ b/po/gnucash-pot.cmake
@@ -1,13 +1,32 @@
-# Note: the set commands below can be integrated in the execute process
-#       the day we require cmake > 3.1
-# The command would then become
-# COMMAND {CMAKE_COMMAND} -E env INTLTOOL_EXTRACT=${INTLTOOL_EXTRACT} .... ${PERL} ${INTLTOOL_UPDATE} ....
-
-set(ENV{INTLTOOL_EXTRACT} ${INTLTOOL_EXTRACT})
-set(ENV{XGETTEXT} ${XGETTEXT})
-set(ENV{srcdir} ${PO_SRC_DIR})
 execute_process(
-  COMMAND ${PERL} ${INTLTOOL_UPDATE} -x --gettext-package ${PACKAGE} --pot
+    COMMAND ${XGETTEXT} --add-comments
+                        --directory=${TOP_SRC_DIR}
+                        --default-domain=${PACKAGE}
+                        --output=${PACKAGE}.pot
+                        --files-from=${PO_SRC_DIR}/POTFILES.in
+                        --from-code=UTF-8
+                        --flag=g_strdup_printf:1:c-format
+                        --flag=g_string_printf:2:c-format
+                        --flag=g_string_append_printf:2:c-format
+                        --flag=g_error_new:3:c-format
+                        --flag=g_set_error:4:c-format
+                        --flag=g_markup_printf_escaped:1:c-format
+                        --flag=g_log:3:c-format
+                        --flag=g_print:1:c-format
+                        --flag=g_printerr:1:c-format
+                        --flag=g_printf:1:c-format
+                        --flag=g_fprintf:2:c-format
+                        --flag=g_sprintf:2:c-format
+                        --flag=g_snprintf:3:c-format
+                        --flag=g_scanner_error:2:c-format
+                        --flag=g_scanner_warn:2:c-format
+                        --keyword=_
+                        --keyword=N_
+                        --keyword=Q_
+                        --keyword=translate:1,1t
+                        --keyword=translate:1c,2,2t
+                        --keyword=translate:1,2,3t
+                        --keyword=translate:1c,2,3,4t
   WORKING_DIRECTORY ${PO_BIN_DIR}
   RESULT_VARIABLE GNUCASH_POT_RESULT
 )

commit 3462abe7adf8a35c30bc366da45056c8f07dba6a
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Mon Feb 26 19:00:07 2018 +0100

    Bug 793460 - gnucash/import-export/csv-imp/assistant-csv-trans-import.cpp:1941 is impossible to translate

diff --git a/gnucash/import-export/csv-imp/assistant-csv-trans-import.cpp b/gnucash/import-export/csv-imp/assistant-csv-trans-import.cpp
index 2b8f55e..535f4ef 100644
--- a/gnucash/import-export/csv-imp/assistant-csv-trans-import.cpp
+++ b/gnucash/import-export/csv-imp/assistant-csv-trans-import.cpp
@@ -38,6 +38,7 @@ extern "C"
 #include <glib/gi18n.h>
 #include <stdlib.h>
 
+#include "gnc-path.h"
 #include "gnc-ui.h"
 #include "gnc-uri-utils.h"
 #include "gnc-ui-util.h"
@@ -63,6 +64,11 @@ extern "C"
 #include "gnc-fw-tokenizer.hpp"
 #include "gnc-csv-tokenizer.hpp"
 
+#include <boost/locale.hpp>
+
+namespace bl = boost::locale;
+using namespace boost::locale;
+
 #define MIN_COL_WIDTH 70
 #define GNC_PREFS_GROUP "dialogs.import.csv"
 #define ASSISTANT_CSV_IMPORT_TRANS_CM_CLASS "assistant-csv-trans-import"
@@ -1937,8 +1943,13 @@ CsvImpTransAssist::assist_summary_page_prepare ()
     gtk_assistant_remove_action_widget (csv_imp_asst, help_button);
     gtk_assistant_remove_action_widget (csv_imp_asst, cancel_button);
 
+    bl::generator gen;
+    gen.add_messages_path(gnc_path_get_datadir());
+    gen.add_messages_domain(PACKAGE);
+
     auto text = std::string("<span size=\"medium\"><b>");
-    text += _("The transactions were imported from the file '") + m_file_name + "'.";
+    // FIXME Rather than passing a locale generator below we probably should set std::locale::global appropriately somewhere.
+    text += (bl::format (translate ("The transactions were imported from the file '{1}'.")) % m_file_name).str(gen(""));
     text += "</b></span>";
     gtk_label_set_markup (GTK_LABEL(summary_label), text.c_str());
 }

commit 72a48c08842f730feeefe00a71521c6f7aecfd62
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Mon Feb 26 18:16:58 2018 +0100

    Improve config and app data migration to handle renaming of config<version>.user to config-user.scm on all platforms

diff --git a/gnucash/gnucash-bin.c b/gnucash/gnucash-bin.c
index 1517b2b..248ffaa 100644
--- a/gnucash/gnucash-bin.c
+++ b/gnucash/gnucash-bin.c
@@ -384,8 +384,8 @@ load_system_config(void)
 static void
 load_user_config(void)
 {
-    /* Don't continue adding to this list. When 2.0 rolls around bump
-       the 1.4 (unnumbered) files off the list. */
+    /* Don't continue adding to this list. When 3.0 rolls around bump
+       the 2.4 files off the list. */
     static const gchar *saved_report_files[] =
     {
         SAVED_REPORTS_FILE, SAVED_REPORTS_FILE_OLD_REV, NULL
diff --git a/libgnucash/core-utils/gnc-filepath-utils.cpp b/libgnucash/core-utils/gnc-filepath-utils.cpp
index 38fe1c9..d55b535 100644
--- a/libgnucash/core-utils/gnc-filepath-utils.cpp
+++ b/libgnucash/core-utils/gnc-filepath-utils.cpp
@@ -601,121 +601,137 @@ static std::string migrate_gnc_datahome()
     std::stringstream migration_msg;
     migration_msg.imbue(gen(""));
 
-    if (copy_recursive (old_dir,
-                        gnc_userdata_home))
+    /* Step 1: copy directory $HOME/.gnucash to $GNC_DATA_HOME */
+    auto full_copy = copy_recursive (old_dir, gnc_userdata_home);
+
+    /* Step 2: move user editable config files from GNC_DATA_HOME to GNC_CONFIG_HOME
+                These files are:
+                - log.conf
+                - the most recent of "config-2.0.user", "config-1.8.user", "config-1.6.user",
+                    "config.user"
+                Note: we'll also  rename config.user to config-user.scm to make it more clear
+                      this file is meant for custom scm code to load at run time */
+    auto failed = std::vector<std::string>{};
+    auto succeeded = std::vector<std::string>{};
+
+    /* Move log.conf
+     * Note on OS X/Quarz and Windows GNC_DATA_HOME and GNC_CONFIG_HOME are the same, so this will do nothing */
+    auto oldlogpath = gnc_userdata_home / "log.conf";
+    auto newlogpath = gnc_userconfig_home / "log.conf";
+    try
     {
-        /* Step 1: copy directory $HOME/.gnucash to $GNC_DATA_HOME */
-
-        /* Translators: the message below will be completed with two directory names. */
-        migration_msg
-            << translate ("Notice") << std::endl << std::endl
-            << translate ("Your gnucash metadata has been migrated.") << std::endl << std::endl
-            << translate ("Old location:") << " " << old_dir.string() << std::endl
-            << translate ("New location:") << " " << gnc_userdata_home.string() << std::endl << std::endl
-            // Translators {1} will be replaced with the package name (typically Gnucash) at runtime
-            << bl::format (translate ("If you no longer intend to run {1} 2.6.x or older on this system you can safely remove the old directory."))
-                % PACKAGE_NAME;
-
-        /* Step 2: move user editable config files from $GNC_DATA_HOME to GNC_CONFIG_HOME
-                   These files are:
-                   - log.conf
-                   - the most recent of "config-2.0.user", "config-1.8.user", "config-1.6.user",
-                     "config.user"
-                     Note: we'll also  rename config.user to config-user.scm to make it more clear what
-                     this file is expecting custom scm code to load at run time
-
-           This is only done if not Windows or OS X, because on those platforms
-           gnc_userconfig_home and gnc_userdata_home are the same.*/
-#if !defined G_OS_WIN32 && !defined MAC_INTEGRATION
-        auto failed = std::vector<std::string>{};
-        auto succeeded = std::vector<std::string>{};
-
-        auto oldlogpath = gnc_userdata_home / "log.conf";
-        auto newlogpath = gnc_userconfig_home / "log.conf";
-        try
+        if (bfs::exists (oldlogpath) && gnc_validate_directory (gnc_userconfig_home) &&
+            (oldlogpath != newlogpath))
         {
-            if (bfs::exists (oldlogpath) && gnc_validate_directory (gnc_userconfig_home))
-            {
-                bfs::rename (oldlogpath, newlogpath);
-                succeeded.emplace_back ("log.conf");
-            }
-        }
-        catch (const bfs::filesystem_error& ex)
-        {
-            failed.emplace_back ("log.conf");
+            bfs::rename (oldlogpath, newlogpath);
+            succeeded.emplace_back ("log.conf");
         }
+    }
+    catch (const bfs::filesystem_error& ex)
+    {
+        failed.emplace_back ("log.conf");
+    }
 
-        auto user_config_files = std::vector<std::string>
-        {
-            "config.user", "config-1.6.user",
-            "config-1.8.user", "config-2.0.user"
-        };
-        auto newconfpath = gnc_userconfig_home / "config-user.scm";
-        auto conf_exist_vec = std::vector<std::string> {};
-        auto final_rename = std::string();
-        for (auto conf_file : user_config_files)
+    /* Move/rename the most relevant config*.user file. The relevance comes from
+     * the order in which these files were searched for at gnucash startup.
+     * Make note of other config*.user files found to inform the user they are now ignored */
+    auto user_config_files = std::vector<std::string>
+    {
+        "config-2.0.user", "config-1.8.user",
+        "config-1.6.user", "config.user"
+    };
+    auto conf_exist_vec = std::vector<std::string> {};
+    auto renamed_config = std::string();
+    for (auto conf_file : user_config_files)
+    {
+        auto oldconfpath = gnc_userdata_home / conf_file;
+        try
         {
-            auto oldconfpath = gnc_userdata_home / conf_file;
-            try
+            if (bfs::exists (oldconfpath) && gnc_validate_directory (gnc_userconfig_home))
             {
-                if (bfs::exists (oldconfpath) && gnc_validate_directory (gnc_userconfig_home))
+                // Only migrate the most relevant of the config*.user files
+                if (renamed_config.empty())
                 {
-                    bfs::rename (oldconfpath, newconfpath);
                     /* Translators: this string refers to a file name that gets renamed */
-                    final_rename = conf_file + " (" + _("Renamed to:") + " config-user.scm)";
+                    renamed_config = conf_file + " (" + _("Renamed to:") + " config-user.scm)";
+                    auto newconfpath = gnc_userconfig_home / "config-user.scm";
+                    bfs::rename (oldconfpath, newconfpath);
+                }
+                else
+                {
+                    /* We want to report the obsolete file to the user */
                     conf_exist_vec.emplace_back (conf_file);
+                    if (full_copy)
+                        /* As we copied from .gnucash, just delete the obsolete file as well. It's still
+                         * present in .gnucash if the user wants to recover it */
+                        bfs::remove (oldconfpath);
                 }
             }
-            catch (const bfs::filesystem_error& ex)
-            {
-                failed.emplace_back (conf_file);
-            }
-        }
-        if (!final_rename.empty())
-            succeeded.emplace_back (final_rename);
-        /* The last element in conf_exist_vec would be the same as final_rename.
-         * This will be reported in the succeeded vector, so don't
-         * report it again as removed */
-        if (!conf_exist_vec.empty())
-            conf_exist_vec.pop_back();
-
-        /* Step 3: inform the user of additional changes */
-        if (!succeeded.empty() || !conf_exist_vec.empty() || !failed.empty())
-            migration_msg << std::endl << std::endl
-                          << translate ("In addition:");
-
-        if (!succeeded.empty())
-        {
-            migration_msg << std::endl << std::endl
-                          << bl::format (translate ("The following file has been moved to {1} instead:",
-                                                        "The following files have been moved to {1} instead:",
-                                                        succeeded.size())) % gnc_userconfig_home.string().c_str()
-                          << std::endl;
-            for (auto success_file : succeeded)
-                migration_msg << "- " << success_file << std::endl;
         }
-        if (!conf_exist_vec.empty())
-        {
-            migration_msg << std::endl << std::endl
-                          << translate ("The following file has been removed instead:",
-                                            "The following files have been removed instead:",
-                                            conf_exist_vec.size())
-                          << std::endl;
-            for (auto rem_file : conf_exist_vec)
-                migration_msg << "- " << rem_file << std::endl;
-        }
-        if (!failed.empty())
+        catch (const bfs::filesystem_error& ex)
         {
-            migration_msg << std::endl << std::endl
-                          << bl::format (translate ("The following file could not be moved to {1}:",
-                                                        "The following files could not be moved to {1}:",
-                                                        failed.size())) % gnc_userconfig_home.string().c_str()
-                          << std::endl;
-            for (auto failed_file : failed)
-                migration_msg << "- " << failed_file << std::endl;
+            failed.emplace_back (conf_file);
         }
-#endif
+    }
+    if (!renamed_config.empty())
+        succeeded.emplace_back (renamed_config);
 
+    /* Step 3: inform the user of additional changes */
+    if (full_copy || !succeeded.empty() || !conf_exist_vec.empty() || !failed.empty())
+        migration_msg << translate ("Notice") << std::endl << std::endl;
+
+    if (full_copy)
+    {
+        migration_msg
+        << translate ("Your gnucash metadata has been migrated.") << std::endl << std::endl
+        /* Translators: this refers to a directory name. */
+        << translate ("Old location:") << " " << old_dir.string() << std::endl
+        /* Translators: this refers to a directory name. */
+        << translate ("New location:") << " " << gnc_userdata_home.string() << std::endl << std::endl
+        // Translators {1} will be replaced with the package name (typically Gnucash) at runtime
+        << bl::format (translate ("If you no longer intend to run {1} 2.6.x or older on this system you can safely remove the old directory."))
+        % PACKAGE_NAME;
+    }
+
+    if (full_copy &&
+        (!succeeded.empty() || !conf_exist_vec.empty() || !failed.empty()))
+        migration_msg << std::endl << std::endl
+                        << translate ("In addition:");
+
+    if (!succeeded.empty())
+    {
+        migration_msg << std::endl << std::endl;
+        if (full_copy)
+            migration_msg << bl::format (translate ("The following file has been copied to {1} instead:",
+                                                    "The following files have been copied to {1} instead:",
+                                                    succeeded.size())) % gnc_userconfig_home.string().c_str();
+        else
+            migration_msg << bl::format (translate ("The following file in {1} has been renamed:"))
+                                         % gnc_userconfig_home.string().c_str();
+
+        migration_msg << std::endl;
+        for (auto success_file : succeeded)
+            migration_msg << "- " << success_file << std::endl;
+    }
+    if (!conf_exist_vec.empty())
+    {
+        migration_msg << std::endl << std::endl
+                      << translate ("The following file has become obsolete and will be ignored:",
+                                    "The following files have become obsolete and will be ignored:",
+                                    conf_exist_vec.size())
+                      << std::endl;
+        for (auto obs_file : conf_exist_vec)
+            migration_msg << "- " << obs_file << std::endl;
+    }
+    if (!failed.empty())
+    {
+        migration_msg << std::endl << std::endl
+                      << bl::format (translate ("The following file could not be moved to {1}:",
+                                                "The following files could not be moved to {1}:",
+                                                failed.size())) % gnc_userconfig_home.string().c_str()
+                      << std::endl;
+        for (auto failed_file : failed)
+            migration_msg << "- " << failed_file << std::endl;
     }
 
     return migration_msg.str ();



Summary of changes:
 .gitignore                                         |   1 +
 CMakeLists.txt                                     |  29 +--
 common/cmake_modules/GncAddGSchemaTargets.cmake    |  10 +-
 doc/CMakeLists.txt                                 |   4 +-
 ...ip_of_the_day.list.in => tip_of_the_day.list.c} |   0
 gnucash/gnome-utils/CMakeLists.txt                 |  10 +-
 gnucash/gnome/CMakeLists.txt                       |  51 +++--
 gnucash/gnome/gnucash.appdata.xml.in               |  24 +--
 gnucash/gnome/gnucash.desktop.in.in                |   6 +-
 gnucash/gnucash-bin.c                              |   4 +-
 gnucash/gschemas/CMakeLists.txt                    |   2 +-
 ...=> org.gnucash.dialogs.business.gschema.xml.in} |   0
 ...g.gnucash.dialogs.checkprinting.gschema.xml.in} |   0
 ...org.gnucash.dialogs.commodities.gschema.xml.in} |   0
 ...ml.in.in => org.gnucash.dialogs.gschema.xml.in} |   0
 ...> org.gnucash.dialogs.reconcile.gschema.xml.in} |   0
 ...n.in => org.gnucash.dialogs.sxs.gschema.xml.in} |   0
 ....in => org.gnucash.dialogs.totd.gschema.xml.in} |   0
 ...g.gnucash.general.finance-quote.gschema.xml.in} |   0
 ...schema.xml.in.in => org.gnucash.gschema.xml.in} |   0
 ...ml.in.in => org.gnucash.history.gschema.xml.in} |   0
 ...l.in.in => org.gnucash.warnings.gschema.xml.in} |   0
 ...ucash.window.pages.account.tree.gschema.xml.in} |   0
 ....in => org.gnucash.window.pages.gschema.xml.in} |   0
 gnucash/import-export/aqb/gschemas/CMakeLists.txt  |   2 +-
 ...org.gnucash.dialogs.import.hbci.gschema.xml.in} |   0
 .../import-export/csv-exp/gschemas/CMakeLists.txt  |   2 +-
 ... org.gnucash.dialogs.export.csv.gschema.xml.in} |   0
 .../csv-imp/assistant-csv-trans-import.cpp         |  13 +-
 .../import-export/csv-imp/gschemas/CMakeLists.txt  |   2 +-
 ... org.gnucash.dialogs.import.csv.gschema.xml.in} |   0
 gnucash/import-export/gschemas/CMakeLists.txt      |   2 +-
 ....gnucash.dialogs.import.generic.gschema.xml.in} |   0
 gnucash/import-export/ofx/gschemas/CMakeLists.txt  |   2 +-
 ... org.gnucash.dialogs.import.ofx.gschema.xml.in} |   0
 .../import-export/qif-imp/gschemas/CMakeLists.txt  |   2 +-
 ... org.gnucash.dialogs.import.qif.gschema.xml.in} |   0
 libgnucash/core-utils/gnc-filepath-utils.cpp       | 216 +++++++++++----------
 po/CMakeLists.txt                                  |  43 ++--
 po/POTFILES.in                                     |  40 ++--
 po/check-po.cmake                                  |  23 ---
 po/gnucash-pot.cmake                               |  37 +++-
 util/ci/arch-testscript                            |   2 +
 util/ci/commonbuild                                |   4 +-
 util/ci/ubuntu-14.04-testscript                    |   2 +
 45 files changed, 279 insertions(+), 254 deletions(-)
 rename doc/{tip_of_the_day.list.in => tip_of_the_day.list.c} (100%)
 rename gnucash/gschemas/{org.gnucash.dialogs.business.gschema.xml.in.in => org.gnucash.dialogs.business.gschema.xml.in} (100%)
 rename gnucash/gschemas/{org.gnucash.dialogs.checkprinting.gschema.xml.in.in => org.gnucash.dialogs.checkprinting.gschema.xml.in} (100%)
 rename gnucash/gschemas/{org.gnucash.dialogs.commodities.gschema.xml.in.in => org.gnucash.dialogs.commodities.gschema.xml.in} (100%)
 rename gnucash/gschemas/{org.gnucash.dialogs.gschema.xml.in.in => org.gnucash.dialogs.gschema.xml.in} (100%)
 rename gnucash/gschemas/{org.gnucash.dialogs.reconcile.gschema.xml.in.in => org.gnucash.dialogs.reconcile.gschema.xml.in} (100%)
 rename gnucash/gschemas/{org.gnucash.dialogs.sxs.gschema.xml.in.in => org.gnucash.dialogs.sxs.gschema.xml.in} (100%)
 rename gnucash/gschemas/{org.gnucash.dialogs.totd.gschema.xml.in.in => org.gnucash.dialogs.totd.gschema.xml.in} (100%)
 rename gnucash/gschemas/{org.gnucash.general.finance-quote.gschema.xml.in.in => org.gnucash.general.finance-quote.gschema.xml.in} (100%)
 rename gnucash/gschemas/{org.gnucash.gschema.xml.in.in => org.gnucash.gschema.xml.in} (100%)
 rename gnucash/gschemas/{org.gnucash.history.gschema.xml.in.in => org.gnucash.history.gschema.xml.in} (100%)
 rename gnucash/gschemas/{org.gnucash.warnings.gschema.xml.in.in => org.gnucash.warnings.gschema.xml.in} (100%)
 rename gnucash/gschemas/{org.gnucash.window.pages.account.tree.gschema.xml.in.in => org.gnucash.window.pages.account.tree.gschema.xml.in} (100%)
 rename gnucash/gschemas/{org.gnucash.window.pages.gschema.xml.in.in => org.gnucash.window.pages.gschema.xml.in} (100%)
 rename gnucash/import-export/aqb/gschemas/{org.gnucash.dialogs.import.hbci.gschema.xml.in.in => org.gnucash.dialogs.import.hbci.gschema.xml.in} (100%)
 rename gnucash/import-export/csv-exp/gschemas/{org.gnucash.dialogs.export.csv.gschema.xml.in.in => org.gnucash.dialogs.export.csv.gschema.xml.in} (100%)
 rename gnucash/import-export/csv-imp/gschemas/{org.gnucash.dialogs.import.csv.gschema.xml.in.in => org.gnucash.dialogs.import.csv.gschema.xml.in} (100%)
 rename gnucash/import-export/gschemas/{org.gnucash.dialogs.import.generic.gschema.xml.in.in => org.gnucash.dialogs.import.generic.gschema.xml.in} (100%)
 rename gnucash/import-export/ofx/gschemas/{org.gnucash.dialogs.import.ofx.gschema.xml.in.in => org.gnucash.dialogs.import.ofx.gschema.xml.in} (100%)
 rename gnucash/import-export/qif-imp/gschemas/{org.gnucash.dialogs.import.qif.gschema.xml.in.in => org.gnucash.dialogs.import.qif.gschema.xml.in} (100%)
 delete mode 100644 po/check-po.cmake



More information about the gnucash-changes mailing list