34 lines
1.1 KiB
CMake
34 lines
1.1 KiB
CMake
|
|
# Update translations
|
||
|
|
find_program(LUPDATE_EXECUTABLE lupdate REQUIRED)
|
||
|
|
if(NOT LUPDATE_EXECUTABLE)
|
||
|
|
message(WARNING "The 'lupdate' program was not found. Translation update will be skipped.")
|
||
|
|
return()
|
||
|
|
endif()
|
||
|
|
|
||
|
|
add_custom_target(update_translations ALL
|
||
|
|
COMMAND ${LUPDATE_EXECUTABLE} ${CMAKE_SOURCE_DIR} -ts ${TRANSLATIONS}
|
||
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||
|
|
COMMENT "Updating translation files"
|
||
|
|
)
|
||
|
|
|
||
|
|
# Compile translations
|
||
|
|
find_program(LRELEASE_EXECUTABLE lrelease REQUIRED)
|
||
|
|
if(NOT LRELEASE_EXECUTABLE)
|
||
|
|
message(WARNING "The 'lrelease' program was not found. Translation compilation will be skipped.")
|
||
|
|
return()
|
||
|
|
endif()
|
||
|
|
|
||
|
|
foreach(TRANSLATION ${TRANSLATIONS})
|
||
|
|
get_filename_component(QM_FILE ${TRANSLATION} NAME_WE)
|
||
|
|
set(QM_FILE ${CMAKE_BINARY_DIR}/translations/${QM_FILE}.qm)
|
||
|
|
add_custom_command(OUTPUT ${QM_FILE}
|
||
|
|
COMMAND ${LRELEASE_EXECUTABLE} ${TRANSLATION} -qm ${QM_FILE}
|
||
|
|
DEPENDS ${TRANSLATION}
|
||
|
|
COMMENT "Compiling ${QM_FILE}"
|
||
|
|
)
|
||
|
|
list(APPEND QM_FILES ${QM_FILE})
|
||
|
|
endforeach()
|
||
|
|
|
||
|
|
# Create translations target
|
||
|
|
add_custom_target(translations ALL DEPENDS ${QM_FILES})
|