Warning, /multimedia/kid3/translations/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 set(_languages ca ca@valencia cs da de el en en_GB es et eu fi fr is it ko nl nn pl pt pt_BR ru sl sr sr@ijekavian sr@ijekavianlatin sr@latin sv tr uk zh_CN zh_TW)
0002
0003 # Use -DDOWNLOAD_POS=ON to download the translations directly from SVN.
0004 if(DOWNLOAD_POS STREQUAL "REMOVE")
0005 message(STATUS "Removing po")
0006 file(REMOVE_RECURSE "${CMAKE_CURRENT_SOURCE_DIR}/po")
0007 elseif(DOWNLOAD_POS)
0008 execute_process(COMMAND ${CMAKE_COMMAND}
0009 -P "${CMAKE_CURRENT_SOURCE_DIR}/download-pos.cmake" "${_languages}"
0010 RESULT_VARIABLE result)
0011 if(NOT "${result}" STREQUAL "0")
0012 message(STATUS "Download failed, removing po")
0013 file(REMOVE_RECURSE "${CMAKE_CURRENT_SOURCE_DIR}/po")
0014 endif()
0015 endif()
0016
0017 if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po")
0018 set(_poDir ${CMAKE_CURRENT_SOURCE_DIR}/po)
0019 message(WARNING "Using custom translations from ${_poDir}")
0020 else()
0021 set(_poDir ${CMAKE_SOURCE_DIR}/poqm)
0022 endif()
0023
0024 # Using ecm_install_po_files_as_qm() from ECMPoQmTools does not work
0025 # because the generated ts files do not have context information,
0026 # just one single context with an empty name.
0027
0028 set(_poFiles)
0029 set(_tsFiles)
0030
0031 foreach(_lang ${_languages})
0032 set(_poFiles ${_poFiles} ${_poDir}/${_lang}/kid3_qt.po)
0033 set(_tsFiles ${_tsFiles} ${CMAKE_CURRENT_BINARY_DIR}/kid3_${_lang}.ts)
0034 endforeach()
0035
0036 if(APPLE OR WIN32 OR ANDROID OR LINUX_SELF_CONTAINED)
0037 if(NOT QT_TRANSLATIONS_DIR)
0038 if(TARGET Qt${QT_VERSION_MAJOR}::qmake)
0039 get_target_property(QT_TRANSLATIONS_DIR Qt${QT_VERSION_MAJOR}::qmake LOCATION)
0040 endif()
0041 get_filename_component(QT_TRANSLATIONS_DIR ${QT_TRANSLATIONS_DIR} PATH)
0042 get_filename_component(QT_TRANSLATIONS_DIR ${QT_TRANSLATIONS_DIR} PATH)
0043 set(QT_TRANSLATIONS_DIR "${QT_TRANSLATIONS_DIR}/translations")
0044 endif()
0045
0046 # Also copy or convert the Qt language files from the Qt installation.
0047 set(_qtQmFiles)
0048 set(_qtTsFiles)
0049 set(_qtCopiedQmFiles)
0050
0051 set(_qttranslation_prefix "${QT_TRANSLATIONS_DIR}/qtbase_")
0052 set(_qtCopiedQm_prefix "${CMAKE_CURRENT_BINARY_DIR}/qtbase_")
0053 foreach(_lang ${_languages})
0054 if(EXISTS ${_qttranslation_prefix}${_lang}.qm)
0055 set(_qtQmFiles ${_qtQmFiles} ${_qttranslation_prefix}${_lang}.qm)
0056 if(HAVE_TRANSLATIONSDIR_IN_QRC)
0057 set(_qtCopiedQmFiles ${_qtCopiedQmFiles} ${_qtCopiedQm_prefix}${_lang}.qm)
0058 endif()
0059 elseif(EXISTS ${_qttranslation_prefix}${_lang}.ts)
0060 set(_qtTsFiles ${_qtTsFiles} ${_qttranslation_prefix}${_lang}.ts)
0061 endif()
0062 endforeach()
0063 endif()
0064
0065 if(_tsFiles)
0066 add_custom_command(
0067 OUTPUT ${_tsFiles}
0068 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/po2ts.py
0069 ${QT_LUPDATE_EXECUTABLE} ${_poDir}
0070 ${CMAKE_CURRENT_SOURCE_DIR}/../src
0071 DEPENDS ${_poFiles}
0072 )
0073 endif()
0074
0075 if(_qtCopiedQmFiles)
0076 add_custom_command(
0077 OUTPUT ${_qtCopiedQmFiles}
0078 COMMAND ${CMAKE_COMMAND} -E copy ${_qtQmFiles} ${CMAKE_CURRENT_BINARY_DIR}
0079 DEPENDS ${_qtQmFiles}
0080 )
0081 endif()
0082
0083 if(APPLE OR WIN32 OR ANDROID OR LINUX_SELF_CONTAINED)
0084 qt_add_translation(_qmFiles ${_tsFiles} ${_qtTsFiles})
0085 add_custom_target(translations "ALL" DEPENDS ${_qmFiles} ${_qtCopiedQmFiles})
0086 set(_installQmFiles ${_qmFiles} ${_qtQmFiles})
0087 else()
0088 qt_add_translation(_qmFiles ${_tsFiles})
0089 add_custom_target(translations "ALL" DEPENDS ${_qmFiles})
0090 set(_installQmFiles ${_qmFiles})
0091 endif()
0092 if(NOT HAVE_TRANSLATIONSDIR_IN_QRC)
0093 install(FILES ${_installQmFiles} DESTINATION ${WITH_TRANSLATIONSDIR})
0094 endif()