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