aboutsummaryrefslogtreecommitdiffstats
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-01-15 17:19:34 +0000
committersaturneric <[email protected]>2024-01-15 17:19:34 +0000
commit34b51c5e0915cbb11c80029aaa05d96c7115fac3 (patch)
treeabb530d5d93ab09ff95844b000958b79c07cd3c5 /src/CMakeLists.txt
parentfix: reload ui should not destroy core and module system (diff)
downloadGpgFrontend-34b51c5e0915cbb11c80029aaa05d96c7115fac3.tar.gz
GpgFrontend-34b51c5e0915cbb11c80029aaa05d96c7115fac3.zip
fix: slove the languange settings issue
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r--src/CMakeLists.txt82
1 files changed, 38 insertions, 44 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index ef262dd1..cedb2dae 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -132,48 +132,46 @@ endif ()
file(GLOB_RECURSE ALL_SOURCE_FILES RELACTIVE ${CMAKE_SOURCE_DIR}/src/*.cpp)
# i18n
-if (SUPPORT_MULTI_LANG)
- message(STATUS "Build Multiply Languages Support")
- # Set Translation Files
- find_package(Gettext REQUIRED)
- FIND_PROGRAM(GETTEXT_MSGFMT_EXECUTABLE msgfmt)
- FIND_PROGRAM(GETTEXT_XGETTEXT_EXECUTABLE xgettext)
-
- set(LOCALE_OUTPUT_PATH ${RESOURCE_OUTPUT_DIRECTORY}/locales)
-
- if (NOT GETTEXT_MSGFMT_EXECUTABLE OR NOT GETTEXT_XGETTEXT_EXECUTABLE)
- message(ERROR "msgfmt or xgettext not found. Translations will *not* be installed")
- else()
- message(STATUS "Setting target translations")
- add_custom_target(translations)
- set(OUTPUT_POT_PATH ${CMAKE_SOURCE_DIR}/resource/lfs/locale/template/${PROJECT_NAME}.pot)
+message(STATUS "Build Multiply Languages Support")
+# Set Translation Files
+find_package(Gettext REQUIRED)
+FIND_PROGRAM(GETTEXT_MSGFMT_EXECUTABLE msgfmt)
+FIND_PROGRAM(GETTEXT_XGETTEXT_EXECUTABLE xgettext)
+
+set(LOCALE_OUTPUT_PATH ${RESOURCE_OUTPUT_DIRECTORY}/locales)
+
+if (NOT GETTEXT_MSGFMT_EXECUTABLE OR NOT GETTEXT_XGETTEXT_EXECUTABLE)
+ message(ERROR "msgfmt or xgettext not found. Translations will *not* be installed")
+else()
+ message(STATUS "Setting target translations")
+ add_custom_target(translations)
+ set(OUTPUT_POT_PATH ${CMAKE_SOURCE_DIR}/resource/lfs/locale/template/${PROJECT_NAME}.pot)
+ add_custom_command(
+ TARGET translations
+ COMMAND find ${CMAKE_SOURCE_DIR}/src -iname \"*.cpp\" | xargs xgettext --package-name=${PROJECT_NAME} --copyright-holder=Saturneric --package-version=${PROJECT_VERSION} [email protected] --add-comments="/*" --c++ -k_ -o ${OUTPUT_POT_PATH}
+ )
+
+ file(GLOB ALL_PO_FILES ${CMAKE_SOURCE_DIR}/resource/lfs/locale/po/*.po)
+ SET(GMO_FILES)
+
+ foreach (_poFile ${ALL_PO_FILES})
+ GET_FILENAME_COMPONENT(_poFileName ${_poFile} NAME)
+ string(REGEX REPLACE "\\.[^.]*$" "" _langName ${_poFileName})
+ message(STATUS "GNU gettext po file ${_langName}")
+ make_directory(${RESOURCE_OUTPUT_DIRECTORY}/locales)
+ make_directory(${RESOURCE_OUTPUT_DIRECTORY}/locales/${_langName}/LC_MESSAGES)
add_custom_command(
TARGET translations
- COMMAND find ${CMAKE_SOURCE_DIR}/src -iname \"*.cpp\" | xargs xgettext --package-name=${PROJECT_NAME} --copyright-holder=Saturneric --package-version=${PROJECT_VERSION} [email protected] --add-comments="/*" --c++ -k_ -o ${OUTPUT_POT_PATH}
+ COMMAND echo Processing po LANG ${_langName}
)
-
- file(GLOB ALL_PO_FILES ${CMAKE_SOURCE_DIR}/resource/lfs/locale/po/*.po)
- SET(GMO_FILES)
-
- foreach (_poFile ${ALL_PO_FILES})
- GET_FILENAME_COMPONENT(_poFileName ${_poFile} NAME)
- string(REGEX REPLACE "\\.[^.]*$" "" _langName ${_poFileName})
- message(STATUS "GNU gettext po file ${_langName}")
- make_directory(${RESOURCE_OUTPUT_DIRECTORY}/locales)
- make_directory(${RESOURCE_OUTPUT_DIRECTORY}/locales/${_langName}/LC_MESSAGES)
- add_custom_command(
- TARGET translations
- COMMAND echo Processing po LANG ${_langName}
- )
- add_custom_command(
- TARGET translations
- COMMAND msgfmt --check --verbose --output-file ${LOCALE_OUTPUT_PATH}/${_langName}/LC_MESSAGES/GpgFrontend.mo ${_poFile}
- )
- endforeach ()
-
- endif ()
+ add_custom_command(
+ TARGET translations
+ COMMAND msgfmt --check --verbose --output-file ${LOCALE_OUTPUT_PATH}/${_langName}/LC_MESSAGES/GpgFrontend.mo ${_poFile}
+ )
+ endforeach ()
endif ()
+
if (BASIC_ENV_CONFIG)
# Set Build Information
configure_file(${CMAKE_SOURCE_DIR}/src/GpgFrontend.h.in ${CMAKE_SOURCE_DIR}/src/GpgFrontend.h @ONLY)
@@ -354,9 +352,7 @@ endif ()
if (BUILD_APPLICATION)
set(RESOURCE_FILES ${CMAKE_SOURCE_DIR}/gpgfrontend.qrc ${APP_ICON_RESOURCE_WINDOWS} ${QON_QM_FILES})
add_custom_target(resources ALL DEPENDS ${RESOURCE_FILES})
- if (SUPPORT_MULTI_LANG)
- add_dependencies(resources translations)
- endif ()
+ add_dependencies(resources translations)
endif ()
if (BUILD_APPLICATION)
@@ -534,10 +530,8 @@ if (LINUX AND LINUX_INSTALL_SOFTWARE)
install(DIRECTORY ${CMAKE_SOURCE_DIR}/resource/lfs/hicolor/
DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/icons/hicolor/)
endif ()
- if (SUPPORT_MULTI_LANG)
- install(DIRECTORY ${LOCALE_OUTPUT_PATH}/
- DESTINATION ${CMAKE_INSTALL_FULL_LOCALEDIR})
- endif ()
+ install(DIRECTORY ${LOCALE_OUTPUT_PATH}/
+ DESTINATION ${CMAKE_INSTALL_FULL_LOCALEDIR})
endif ()
message(STATUS "Resource Files: ${RESOURCE_OUTPUT_DIRECTORY}")