# SPDX-License-Identifier: MIT # # ES-DE Frontend # CMakeLists.txt (locale) # # CMake configuration for compiling localization message catalog files using msgfmt # add_custom_target(localization ALL COMMENT Compiling localization message catalogs) if(APPLE) set(MSGFMT_BINARY ${PROJECT_SOURCE_DIR}/external/local_install/bin/msgfmt) elseif(WIN32) set(MSGFMT_BINARY ${PROJECT_SOURCE_DIR}/external/gettext/bin/msgfmt.exe) else() find_program(MSGFMT_BINARY msgfmt) endif() if(NOT MSGFMT_BINARY) message (FATAL_ERROR "Couldn't find msgfmt binary") endif() file(GLOB PO_FILES ${PROJECT_SOURCE_DIR}/locale/po/*.po) foreach (PO_FILE ${PO_FILES}) get_filename_component(PO_FILENAME ${PO_FILE} NAME) get_filename_component(PO_BASENAME ${PO_FILENAME} NAME_WE) add_custom_command(TARGET localization COMMAND echo Compiling message catalog for locale ${PO_BASENAME}) file(MAKE_DIRECTORY ${PROJECT_SOURCE_DIR}/resources/locale/${PO_BASENAME}/LC_MESSAGES) add_custom_command(TARGET localization COMMAND ${MSGFMT_BINARY} -c --statistics -o ${PROJECT_SOURCE_DIR}/resources/locale/${PO_BASENAME}/LC_MESSAGES/${PO_BASENAME}.mo ${PO_FILE}) endforeach() add_custom_command(TARGET localization COMMAND echo)