diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index cbce372bb..ea0b8028d 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,3 +1,7 @@ +# ==================================================================== +# CMakeLists.txt +# ==================================================================== + cmake_minimum_required(VERSION 3.0) project(linphone) @@ -7,6 +11,10 @@ set(LINPHONE_EXEC linphone) set(CMAKE_AUTOMOC ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) +# -------------------------------------------------------------------- +# Define packages, libs, sources, headers, resources and languages +# -------------------------------------------------------------------- + set(QT5_PACKAGES Core Gui Quick Widgets QuickControls2 LinguistTools) set(LIBS) @@ -65,6 +73,7 @@ endfunction () # Force absolute paths. PREPEND(SOURCES "${CMAKE_SOURCE_DIR}/") PREPEND(HEADERS "${CMAKE_SOURCE_DIR}/") +PREPEND(QRC_RESOURCES "${CMAKE_SOURCE_DIR}/") # -------------------------------------------------------------------- diff --git a/tests/languages/CMakeLists.txt b/tests/languages/CMakeLists.txt index ec7580a55..eb0e55388 100644 --- a/tests/languages/CMakeLists.txt +++ b/tests/languages/CMakeLists.txt @@ -1,3 +1,14 @@ +# ==================================================================== +# languages/CMakeLists.txt +# ==================================================================== + +# This line prevent `.ts` files deletion. +# See: https://bugreports.qt.io/browse/QTBUG-31860 +# +# On October 17, 2016, this issue is marked `invalid` but it's a +# bullshit. It's not tolerated to remove sources files. +set_directory_properties(PROPERTIES CLEAN_NO_CUSTOM true) + # Build languages resource file. set(TS_FILES) set(I18N_CONTENT "\n\n \n") @@ -13,15 +24,22 @@ set(I18N_CONTENT "${I18N_CONTENT} \n\n") file(WRITE "${CMAKE_BINARY_DIR}/${LANGUAGES_DIRECTORY}/${I18N_FILENAME}" "${I18N_CONTENT}") -# -------------------------------------------------------------------- - -# Prevent `.ts` files deletion. -# See: https://bugreports.qt.io/browse/QTBUG-31860 -# -# On October 17, 2016, this issue is marked `invalid` but it's a -# bullshit. It's not tolerated to remove sources files. -set_directory_properties(PROPERTIES CLEAN_NO_CUSTOM true) +# Compute QML files list. +set(QML_SOURCES) +file(STRINGS ${QRC_RESOURCES} QRC_RESOURCES_CONTENT) +foreach (line ${QRC_RESOURCES_CONTENT}) + set(result) + string(REGEX REPLACE + "^[ \t]+[ \t]*(.+\\.qml)[ \t]*[ \t]*$" + "\\1" + result + ${line}) + string(REGEX MATCH "qml$" isQml ${result}) + if (NOT ${isQml} STREQUAL "") + list(APPEND QML_SOURCES "${CMAKE_SOURCE_DIR}/${result}") + endif () +endforeach () # Create `qm` files from `ts` files. -qt5_create_translation(QM_FILES ${TS_FILES} ${SOURCES} ${HEADERS}) +qt5_create_translation(QM_FILES ${TS_FILES} ${SOURCES} ${HEADERS} ${QML_SOURCES}) add_custom_target(update_translations DEPENDS ${QM_FILES}) diff --git a/tests/languages/en.ts b/tests/languages/en.ts index d6f3ddf90..40bce0dd6 100644 --- a/tests/languages/en.ts +++ b/tests/languages/en.ts @@ -115,7 +115,7 @@ Please choose one or many files - DROP YOUR ATTACHMENT + dropYourAttachment diff --git a/tests/languages/fr.ts b/tests/languages/fr.ts index e3d804de6..c53c8ee31 100644 --- a/tests/languages/fr.ts +++ b/tests/languages/fr.ts @@ -115,7 +115,7 @@ Merci de choisir un ou plusieurs fichiers - DROP YOUR ATTACHMENT + dropYourAttachment