Blame po/CMakeLists.txt

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