# pulling translations from weblate set(WEBLATE_REPO_URL "git@github.com:rpm-software-management/${PROJECT_NAME}-l10n.git") set(WEBLATE_REPO_BRANCH "master") set(WEBLATE_REPO_PATH ${CMAKE_CURRENT_BINARY_DIR}/tmp-weblate-repo) find_package(Git) find_package(Gettext) if (GIT_FOUND) # detect current git branch execute_process( COMMAND ${GIT_EXECUTABLE} symbolic-ref --short -q HEAD COMMAND tr -d '[:space:]' OUTPUT_VARIABLE CURRENT_BRANCH WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) set(CURRENT_BRANCH "rhel-8") # output _weblate-clone is never created so the clonning of weblate repo is always processed # and fresh *.po files are used add_custom_command(OUTPUT _weblate-clone COMMENT "Clonning weblate repo" COMMAND ${CMAKE_COMMAND} -E remove_directory ${WEBLATE_REPO_PATH} COMMAND ${GIT_EXECUTABLE} clone --depth=1 -b ${WEBLATE_REPO_BRANCH} ${WEBLATE_REPO_URL} ${WEBLATE_REPO_PATH} BYPRODUCTS ${WEBLATE_REPO_PATH} ) add_custom_target(gettext-update COMMENT "Updating translation files from weblate repo" COMMAND ${CMAKE_COMMAND} -E copy ${WEBLATE_REPO_PATH}/${CURRENT_BRANCH}/*.po . COMMAND ${CMAKE_COMMAND} -E copy ${WEBLATE_REPO_PATH}/${CURRENT_BRANCH}/${PROJECT_NAME}.pot . COMMAND ${CMAKE_SOURCE_DIR}/scripts/sanitize_po_files.py *.po DEPENDS _weblate-clone WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) endif() IF (GETTEXT_FOUND) # this process unfortunately reformats .po files so copy them FILE(GLOB POS ${CMAKE_CURRENT_SOURCE_DIR}/*.po) FILE(COPY ${POS} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) FILE(GLOB POS_BIN ${CMAKE_CURRENT_BINARY_DIR}/*.po) GETTEXT_CREATE_TRANSLATIONS(${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pot ALL ${POS_BIN}) ENDIF()