Hi all,

When I tried to build the current Gnucash from the master branch on Ubuntu 16.04 using cmake I came across a problem during the configuration step:

I ran cmake with “cmake -G Ninja ../gnucash” and got the following error:

-- Using guile-2.0.x
-- Checking for GTEST
-- Checking for GMOCK
/usr/bin/xgettext: error while opening "../gnucash/import-export/qif-imp/qif-merge-groups.scmgnucash/import-export/qif-imp/qif-objects.scm" for reading: No such file or directory
ERROR: xgettext failed to generate PO template file. Please consult
       error message above if there is any.
CMake Error at po/CMakeLists.txt:168 (MESSAGE):
  Error when creating gnucash.pot: 1


-- Configuring incomplete, errors occurred!


I then noticed that the generated file po/POTFILES.in in the source directory contained the following line, which is missing a newline:
gnucash/import-export/qif-imp/qif-merge-groups.scmgnucash/import-export/qif-imp/qif-objects.scm

So there seems to be a problem in the code that generates po/POTFILES.in. The following patch seems to resolve the issue, the build ran fine afterwards.

diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
index 6b7ec7b..69ce8d9 100644
--- a/po/CMakeLists.txt
+++ b/po/CMakeLists.txt
@@ -105,6 +105,7 @@ FUNCTION(MAKE_GNUCASH_POTFILES)
   # here so it is easier for me to compare to the autotools
   # generated POTFILES.in
   STRING(REPLACE ";" "\n" SORT_IN "${FILES}")
+  STRING(APPEND SORT_IN "\n")
   FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/POTFILES.in.in "${SORT_IN}")

EXECUTE_PROCESS(COMMAND "${PERL_EXECUTABLE}" "${CMAKE_SOURCE_DIR}/util/elegant-sort.pl"

Could you please check if you can bring this fix to master?

Best regards,
Michael
_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to