mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-22 00:06:12 -05:00
60 lines
2.5 KiB
CMake
60 lines
2.5 KiB
CMake
find_package(${QT_VERSION_BASE} COMPONENTS LinguistTools REQUIRED)
|
|
set(QT_LRELEASE_EXECUTABLE ${QT_VERSION_BASE}::lrelease)
|
|
|
|
macro(ADD_TRANSLATION_FILES _sources )
|
|
foreach (_current_FILE ${ARGN})
|
|
get_filename_component(_in ${_current_FILE} ABSOLUTE)
|
|
get_filename_component(_basename ${_current_FILE} NAME_WE)
|
|
|
|
set(_out ${QGIS_OUTPUT_DIRECTORY}/i18n/${_basename}.qm)
|
|
|
|
add_custom_command(
|
|
OUTPUT ${_out}
|
|
COMMAND ${QT_LRELEASE_EXECUTABLE}
|
|
ARGS -silent ${_in} -qm ${_out}
|
|
DEPENDS ${_in}
|
|
)
|
|
|
|
set(${_sources} ${${_sources}} ${_out} )
|
|
endforeach (_current_FILE)
|
|
endmacro(ADD_TRANSLATION_FILES)
|
|
|
|
# make sure the output directory exists
|
|
file(MAKE_DIRECTORY ${QGIS_OUTPUT_DIRECTORY}/i18n)
|
|
|
|
|
|
set(TS_FILES qgis_ar.ts qgis_az.ts qgis_bg.ts qgis_bs.ts qgis_ca.ts qgis_cs.ts qgis_da.ts qgis_de.ts qgis_en_US.ts qgis_es.ts qgis_et.ts qgis_eu.ts qgis_fi.ts qgis_fr.ts qgis_gl.ts qgis_hu.ts qgis_is.ts qgis_it.ts qgis_ja.ts qgis_ko.ts qgis_lt.ts qgis_lv.ts qgis_nb.ts qgis_nl.ts qgis_pl.ts qgis_pt_BR.ts qgis_pt_PT.ts qgis_ro.ts qgis_ru.ts qgis_sc.ts qgis_sk.ts qgis_sv.ts qgis_tr.ts qgis_uk.ts qgis_vi.ts qgis_zh-Hans.ts qgis_zh-Hant.ts)
|
|
|
|
ADD_TRANSLATION_FILES (QM_FILES ${TS_FILES})
|
|
|
|
# TODO QGIS 4.0: remove configure and call directly script
|
|
configure_file(${CMAKE_SOURCE_DIR}/scripts/ts2appinfo.py.in ${CMAKE_BINARY_DIR}/ts2appinfo.py)
|
|
|
|
if (UNIX AND NOT APPLE AND PYQT_FOUND)
|
|
add_custom_command(
|
|
OUTPUT ${CMAKE_BINARY_DIR}/org.qgis.qgis.desktop ${CMAKE_BINARY_DIR}/org.qgis.qgis.appdata.xml
|
|
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
|
COMMAND ${Python_EXECUTABLE}
|
|
ARGS ${CMAKE_BINARY_DIR}/ts2appinfo.py "${CMAKE_BINARY_DIR}"
|
|
COMMENT "Updating appinfo files..."
|
|
DEPENDS ${QM_FILES} ${CMAKE_SOURCE_DIR}/linux/org.qgis.qgis.desktop.in ${CMAKE_SOURCE_DIR}/linux/org.qgis.qgis.appdata.xml.in
|
|
)
|
|
|
|
set(MD_FILES ${CMAKE_BINARY_DIR}/org.qgis.qgis.desktop ${CMAKE_BINARY_DIR}/org.qgis.qgis.appdata.xml)
|
|
|
|
install(FILES ${CMAKE_BINARY_DIR}/org.qgis.qgis.desktop DESTINATION share/applications)
|
|
install(FILES ${CMAKE_BINARY_DIR}/org.qgis.qgis.appdata.xml DESTINATION share/metainfo)
|
|
endif()
|
|
|
|
# creating a custom target is needed to make the files build
|
|
# "ALL" means that it will be run by default
|
|
add_custom_target (translations ALL DEPENDS ${QM_FILES} ${MD_FILES})
|
|
|
|
# first compile sources, then compile translations
|
|
if (WITH_DESKTOP)
|
|
add_dependencies (translations ${QGIS_APP_NAME})
|
|
endif()
|
|
|
|
install (FILES ${QM_FILES}
|
|
DESTINATION ${QGIS_DATA_DIR}/i18n)
|