Fix gnucash.pot generation from cmake build.

intltool-update should be run from the build directory, not the source directory.
If run from the source directory it will omit glade messages that have a context attribute
so all msgids with a msgctxt comment would be missing.
This commit is contained in:
Geert Janssens 2017-10-03 22:30:26 +02:00
parent 42ac55e03a
commit 7650d76582
2 changed files with 5 additions and 15 deletions

View File

@ -162,8 +162,8 @@ IF(BUILDING_FROM_VCS)
IF (${CMAKE_VERSION} VERSION_GREATER 3.1 AND NOT WIN32)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND_TMP} INTLTOOL_EXTRACT=${INTLTOOL_EXTRACT} XGETTEXT=${XGETTEXT} ${INTLTOOL_UPDATE} --gettext-package ${PACKAGE} --pot
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMAND ${CMAKE_COMMAND_TMP} INTLTOOL_EXTRACT=${INTLTOOL_EXTRACT} XGETTEXT=${XGETTEXT} srcdir=${CMAKE_CURRENT_SOURCE_DIR} ${INTLTOOL_UPDATE} --gettext-package ${PACKAGE} --pot
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
RESULT_VARIABLE GNUCASH_POT_RESULT
)
IF(NOT ${GNUCASH_POT_RESULT} STREQUAL "0")
@ -173,7 +173,7 @@ IF(BUILDING_FROM_VCS)
CONFIGURE_FILE(make-gnucash-pot.sh.in make-gnucash-pot.sh)
EXECUTE_PROCESS(
COMMAND ${SHELL} ${CMAKE_CURRENT_BINARY_DIR}/make-gnucash-pot.sh
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
RESULT_VARIABLE GNUCASH_POT_RESULT_SHELL
)
IF(NOT ${GNUCASH_POT_RESULT_SHELL} STREQUAL "0")
@ -181,20 +181,10 @@ IF(BUILDING_FROM_VCS)
ENDIF()
ENDIF()
IF (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/gnucash.pot)
IF (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/gnucash.pot)
MESSAGE(FATAL_ERROR "POT file '${CMAKE_CURRENT_SOURCE_DIR}/gnucash.pot' was not successfully created.")
ENDIF()
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy gnucash.pot ${CMAKE_CURRENT_BINARY_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E remove gnucash.pot
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
ENDIF()
ADD_CUSTOM_TARGET(check-po

View File

@ -4,4 +4,4 @@ XGETTEXT=@XGETTEXT@
INTLTOOL_UPDATE=@INTLTOOL_UPDATE@
SOURCE_DIR=@CMAKE_CURRENT_SOURCE_DIR@
PACKAGE=@PACKAGE@
cd $SOURCE_DIR && $INTLTOOL_UPDATE --gettext-package $PACKAGE --pot
srcdir=$SOURCE_DIR $INTLTOOL_UPDATE --gettext-package $PACKAGE --pot