|
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()
|