From 009c480413910e8c1a18f4d1420f4a517ea606e6 Mon Sep 17 00:00:00 2001 From: Alex Merry Date: Wed, 14 Oct 2015 12:18:40 +0100 Subject: Make sure we load translations on the main thread. BUG: 346188 REVIEW: 123726 --- tests/ECMPoQmToolsTest/CMakeLists.txt | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) (limited to 'tests/ECMPoQmToolsTest/CMakeLists.txt') diff --git a/tests/ECMPoQmToolsTest/CMakeLists.txt b/tests/ECMPoQmToolsTest/CMakeLists.txt index 15351d2f..e08a2b8c 100644 --- a/tests/ECMPoQmToolsTest/CMakeLists.txt +++ b/tests/ECMPoQmToolsTest/CMakeLists.txt @@ -9,9 +9,14 @@ file(REMOVE_RECURSE "${CMAKE_INSTALL_PREFIX}") include(ECMPoQmTools) -# Should create ${CMAKE_CURRENT_BINARY_DIR}/qmloader.cpp and set QMLOADER_PATH -# to its path -ecm_create_qm_loader(QMLOADER_PATH catalog) +include(../test_helpers.cmake) + +unset(QMLOADER_FILES) +ecm_create_qm_loader(QMLOADER_FILES catalog) +assert_var_defined(QMLOADER_FILES) + +# These will be used to test the above-generated loader +ecm_install_po_files_as_qm(tr_test-po) # Should create a process-and-install.qm file and install it ecm_process_po_files_as_qm(fr ALL @@ -39,5 +44,22 @@ ecm_install_po_files_as_qm(po-custom-dir1) set(LOCALE_INSTALL_DIR custom-dir2) ecm_install_po_files_as_qm(po-custom-dir2) -# this will be run by CTest -configure_file(check_tree.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/check_tree.cmake" @ONLY) +find_package(Qt5Core CONFIG REQUIRED) + +add_executable(tr_test tr_test.cpp ${QMLOADER_FILES}) +target_link_libraries(tr_test PRIVATE Qt5::Core) + +add_library(tr_thread_module MODULE tr_thread_test_module.cpp ${QMLOADER_FILES}) +target_link_libraries(tr_thread_module PRIVATE Qt5::Core) + +add_executable(tr_thread_test tr_thread_test.cpp) +set_target_properties(tr_thread_test PROPERTIES AUTOMOC ON) +target_include_directories(tr_thread_test PRIVATE "${CMAKE_CURRENT_BINARY_DIR}") +target_compile_definitions(tr_thread_test PRIVATE "MODULE_PATH=\"$\"") +target_link_libraries(tr_thread_test PRIVATE Qt5::Core) + +file(GENERATE + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/check_conf.cmake" + INPUT "${CMAKE_CURRENT_SOURCE_DIR}/check_conf.cmake.in" +) +configure_file(check.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/check.cmake" @ONLY) -- cgit v1.2.1 From 6745bd7e4796560959bb67e33b7c7f86f96a5a94 Mon Sep 17 00:00:00 2001 From: Alex Merry Date: Sun, 8 Nov 2015 19:23:22 +0000 Subject: Revert "Make sure we load translations on the main thread." This broke the build for projects which used ecm_create_qm_loader in unusual ways. A better approach is coming, but won't be in e-c-m 5.16. This reverts commit 009c480413910e8c1a18f4d1420f4a517ea606e6. CCBUG: 346188 CCMAIL: release-team@kde.org CCMAIL: kde-buildsystem@kde.org --- tests/ECMPoQmToolsTest/CMakeLists.txt | 32 +++++--------------------------- 1 file changed, 5 insertions(+), 27 deletions(-) (limited to 'tests/ECMPoQmToolsTest/CMakeLists.txt') diff --git a/tests/ECMPoQmToolsTest/CMakeLists.txt b/tests/ECMPoQmToolsTest/CMakeLists.txt index e08a2b8c..15351d2f 100644 --- a/tests/ECMPoQmToolsTest/CMakeLists.txt +++ b/tests/ECMPoQmToolsTest/CMakeLists.txt @@ -9,14 +9,9 @@ file(REMOVE_RECURSE "${CMAKE_INSTALL_PREFIX}") include(ECMPoQmTools) -include(../test_helpers.cmake) - -unset(QMLOADER_FILES) -ecm_create_qm_loader(QMLOADER_FILES catalog) -assert_var_defined(QMLOADER_FILES) - -# These will be used to test the above-generated loader -ecm_install_po_files_as_qm(tr_test-po) +# Should create ${CMAKE_CURRENT_BINARY_DIR}/qmloader.cpp and set QMLOADER_PATH +# to its path +ecm_create_qm_loader(QMLOADER_PATH catalog) # Should create a process-and-install.qm file and install it ecm_process_po_files_as_qm(fr ALL @@ -44,22 +39,5 @@ ecm_install_po_files_as_qm(po-custom-dir1) set(LOCALE_INSTALL_DIR custom-dir2) ecm_install_po_files_as_qm(po-custom-dir2) -find_package(Qt5Core CONFIG REQUIRED) - -add_executable(tr_test tr_test.cpp ${QMLOADER_FILES}) -target_link_libraries(tr_test PRIVATE Qt5::Core) - -add_library(tr_thread_module MODULE tr_thread_test_module.cpp ${QMLOADER_FILES}) -target_link_libraries(tr_thread_module PRIVATE Qt5::Core) - -add_executable(tr_thread_test tr_thread_test.cpp) -set_target_properties(tr_thread_test PROPERTIES AUTOMOC ON) -target_include_directories(tr_thread_test PRIVATE "${CMAKE_CURRENT_BINARY_DIR}") -target_compile_definitions(tr_thread_test PRIVATE "MODULE_PATH=\"$\"") -target_link_libraries(tr_thread_test PRIVATE Qt5::Core) - -file(GENERATE - OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/check_conf.cmake" - INPUT "${CMAKE_CURRENT_SOURCE_DIR}/check_conf.cmake.in" -) -configure_file(check.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/check.cmake" @ONLY) +# this will be run by CTest +configure_file(check_tree.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/check_tree.cmake" @ONLY) -- cgit v1.2.1 From c88bc78e0ca3834c46b89ca9d14b404751da5d4a Mon Sep 17 00:00:00 2001 From: Alex Merry Date: Wed, 14 Oct 2015 12:18:40 +0100 Subject: Add unit test for ecm_create_qm_loader. This is based on commit 6745bd7e4796560959bb67e33b7c7f86f96a5a94 (and the subsequent fix-up commits). --- tests/ECMPoQmToolsTest/CMakeLists.txt | 57 ++++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 5 deletions(-) (limited to 'tests/ECMPoQmToolsTest/CMakeLists.txt') diff --git a/tests/ECMPoQmToolsTest/CMakeLists.txt b/tests/ECMPoQmToolsTest/CMakeLists.txt index 15351d2f..76d80141 100644 --- a/tests/ECMPoQmToolsTest/CMakeLists.txt +++ b/tests/ECMPoQmToolsTest/CMakeLists.txt @@ -9,9 +9,13 @@ file(REMOVE_RECURSE "${CMAKE_INSTALL_PREFIX}") include(ECMPoQmTools) -# Should create ${CMAKE_CURRENT_BINARY_DIR}/qmloader.cpp and set QMLOADER_PATH -# to its path -ecm_create_qm_loader(QMLOADER_PATH catalog) +include(../test_helpers.cmake) + + +# +# ecm_process_po_files_as_qm +# + # Should create a process-and-install.qm file and install it ecm_process_po_files_as_qm(fr ALL @@ -24,20 +28,63 @@ ecm_process_po_files_as_qm(fr ALL PO_FILES only-process.po ) + + +# +# ecm_install_po_files_as_qm +# + # Should create a bunch of .qm files and install them in share/locale. # Should ignore files directly under po/ as well as directories under po/ which # do not contain any .po files. ecm_install_po_files_as_qm(po) + # Should create a bunch of .qm files and install them in # ${CMAKE_INSTALL_LOCALEDIR} set(CMAKE_INSTALL_LOCALEDIR custom-dir1) ecm_install_po_files_as_qm(po-custom-dir1) + # Should create a bunch of .qm files and install them in # ${LOCALE_INSTALL_DIR} set(LOCALE_INSTALL_DIR custom-dir2) ecm_install_po_files_as_qm(po-custom-dir2) -# this will be run by CTest -configure_file(check_tree.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/check_tree.cmake" @ONLY) +unset(CMAKE_INSTALL_LOCALEDIR) +unset(LOCALE_INSTALL_DIR) + + + +# +# ecm_create_qm_loader +# + +find_package(Qt5Core CONFIG REQUIRED) +ecm_install_po_files_as_qm(tr_test-po) + + +set(tr_test_SRCS + tr_test.cpp +) +ecm_create_qm_loader(tr_test_SRCS catalog) +add_executable(tr_test ${tr_test_SRCS}) +target_link_libraries(tr_test PRIVATE Qt5::Core) + + +# This is not something we want people to do (putting the ecm_create_qm_loader +# call in one CMakeLists.txt file and the target it is used for in another), +# but it's unfortunately something projects have done and we need to keep them +# building +unset(QMLOADER_FILES) +ecm_create_qm_loader(QMLOADER_FILES catalog) +assert_var_defined(QMLOADER_FILES) +add_subdirectory(subdir) + + + +file(GENERATE + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/check_conf.cmake" + INPUT "${CMAKE_CURRENT_SOURCE_DIR}/check_conf.cmake.in" +) +configure_file(check.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/check.cmake" @ONLY) -- cgit v1.2.1