gnucash maint: Eliminate redundant mo files
Geert Janssens
gjanssens at code.gnucash.org
Tue Mar 23 10:41:17 EDT 2021
Updated via https://github.com/Gnucash/gnucash/commit/09ff2e54 (commit)
from https://github.com/Gnucash/gnucash/commit/2be07b3e (commit)
commit 09ff2e5483cfd0672a52af2be78adb73c53a8a22
Author: Geert Janssens <geert at kobaltwit.be>
Date: Tue Mar 23 15:25:08 2021 +0100
Eliminate redundant mo files
They were generated fist in builddir/po to then be copied
to builddir/share/locale/...
The intermediate in builddir/po is redundant.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 03b955e7d..a478b98d7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -788,6 +788,7 @@ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/common/config.h.cmake.in ${CONFIG_H}
add_subdirectory (borrowed)
add_subdirectory (data)
add_subdirectory (doc)
+# Note: po should be processed before gnucash - it provides LINGUAS, used to generate desktop and appdata files
add_subdirectory (po)
add_subdirectory (common)
add_subdirectory (libgnucash)
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
index ec91d4403..1d72c9f4f 100644
--- a/po/CMakeLists.txt
+++ b/po/CMakeLists.txt
@@ -10,52 +10,36 @@ set (GC_LINGUAS ar as az bg brx de doi el en_GB es es_NI et fi fr gu he hi hr hu
set (NEW_LINGUAS)
set (ALL_LINGUAS ${TP_LINGUAS} ${GC_LINGUAS} ${NEW_LINGUAS})
-
-file (WRITE LINGUAS "${ALL_LINGUAS}")
+# LINGUAS is used to create localized destkop and appdata files
+string(REPLACE ";" " " LINGUAS "${ALL_LINGUAS}")
+file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/LINGUAS "${LINGUAS}")
set (CATALOGS "")
-set (BUILD_CATALOGS "")
+set (po_SOURCES "")
-set(po_SOURCES "")
-file (WRITE LINGUAS "")
-foreach(lingua ${ALL_LINGUAS})
- list(APPEND po_SOURCES ${lingua}.po)
- file (APPEND LINGUAS "${lingua} ")
-endforeach()
+foreach (lingua ${ALL_LINGUAS})
+ list (APPEND po_SOURCES ${lingua}.po)
-set_local_dist(po_DIST_local ${po_SOURCES} CMakeLists.txt Makevars
- POTFILES.in POTFILES.skip README gnucash-pot.cmake)
-set(po_DIST ${po_DIST_local} ${po_glossary_DIST} PARENT_SCOPE)
+ set (_LOCALE_DIR ${DATADIR_BUILD}/locale/${lingua}/LC_MESSAGES)
+ set (_MO_FILE ${_LOCALE_DIR}/gnucash.mo)
+ list (APPEND CATALOGS ${_MO_FILE})
-foreach(lingua ${ALL_LINGUAS})
- set(_OUTPUT_FILE ${lingua}.mo)
- list(APPEND CATALOGS ${_OUTPUT_FILE})
add_custom_command(
- OUTPUT ${_OUTPUT_FILE}
+ OUTPUT ${_MO_FILE}
COMMAND ${CMAKE_COMMAND} -E env
${GETTEXT_MSGFMT_EXECUTABLE}
- -o ${_OUTPUT_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${lingua}.po
+ -o ${_MO_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${lingua}.po
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${lingua}.po
)
- set(_BUILD_FILE_DIR ${DATADIR_BUILD}/locale/${lingua}/LC_MESSAGES)
- make_directory(${_BUILD_FILE_DIR})
- set(_BUILD_FILE ${_BUILD_FILE_DIR}/gnucash.mo)
- list(APPEND BUILD_CATALOGS ${_BUILD_FILE})
- add_custom_command(
- OUTPUT ${_BUILD_FILE}
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${lingua}.mo ${_BUILD_FILE}
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_OUTPUT_FILE}
- #APPEND
- )
-endforeach(lingua)
-add_custom_target(po-gmo ALL DEPENDS ${CATALOGS})
-add_custom_target(po-gmo-build ALL DEPENDS ${BUILD_CATALOGS})
+ install (FILES ${_MO_FILE} DESTINATION ${CMAKE_INSTALL_DATADIR}/locale/${lingua}/LC_MESSAGES)
+endforeach (lingua)
+add_custom_target(po-gmo ALL DEPENDS ${CATALOGS})
-foreach(lingua ${ALL_LINGUAS})
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${lingua}.mo RENAME gnucash.mo DESTINATION ${CMAKE_INSTALL_DATADIR}/locale/${lingua}/LC_MESSAGES)
-endforeach(lingua)
+set_local_dist(po_DIST_local ${po_SOURCES} CMakeLists.txt Makevars
+ POTFILES.in POTFILES.skip README gnucash-pot.cmake)
+set(po_DIST ${po_DIST_local} ${po_glossary_DIST} PARENT_SCOPE)
function(read_file_removing_comments OUTPUT PATH)
set(RESULT "")
Summary of changes:
CMakeLists.txt | 1 +
po/CMakeLists.txt | 50 +++++++++++++++++---------------------------------
2 files changed, 18 insertions(+), 33 deletions(-)
More information about the gnucash-changes
mailing list