diff options
author | Aleix Pol <aleixpol@kde.org> | 2016-10-28 12:46:17 +0200 |
---|---|---|
committer | Aleix Pol <aleixpol@kde.org> | 2016-10-31 00:27:42 +0100 |
commit | 91dbd2f5a30caf878f668e60b7c2ee5ca376b858 (patch) | |
tree | afa04717dfac5eb68e7c929631898e6216e63fda /autotests | |
parent | 3a7b8ae9c9b151c20e7b1f9d7f01aa2013a9b25f (diff) | |
download | kconfig-91dbd2f5a30caf878f668e60b7c2ee5ca376b858.tar.gz kconfig-91dbd2f5a30caf878f668e60b7c2ee5ca376b858.tar.bz2 |
Make kconfig_compiler autotests use the KCONFIG_ADD_KCFG_FILES
Summary:
Instead of having an odd fake of it. Will help some required
refactorings and already showed some issues, fixed by this patch,
namely:
- don't use string(regex replace) to extract a string from another
string. in case it doesn't match it will offer the whole content which
is never what we want.
- messages(ERROR), the correct parameter is FATAL_ERROR, cmake
understands "ERROR" as mere output string
- turn the macro into a function, otherwise 2 calls in the same
subdirectory are dangerous.
CCBUG: 371562
Test Plan: tests still pass, projects that use the macro still build
Reviewers: #frameworks, dfaure
Reviewed By: dfaure
Subscribers: dfaure
Differential Revision: https://phabricator.kde.org/D3178
Diffstat (limited to 'autotests')
-rw-r--r-- | autotests/kconfig_compiler/CMakeLists.txt | 41 | ||||
-rw-r--r-- | autotests/kconfig_compiler/test1.kcfgc | 1 | ||||
-rw-r--r-- | autotests/kconfig_compiler/test12.kcfgc | 1 | ||||
-rw-r--r-- | autotests/kconfig_compiler/test13.kcfgc | 1 | ||||
-rw-r--r-- | autotests/kconfig_compiler/test9.kcfgc | 1 | ||||
-rw-r--r-- | autotests/kconfig_compiler/test_qdebugcategory.kcfgc | 2 |
6 files changed, 17 insertions, 30 deletions
diff --git a/autotests/kconfig_compiler/CMakeLists.txt b/autotests/kconfig_compiler/CMakeLists.txt index 1ea6472a..0971471b 100644 --- a/autotests/kconfig_compiler/CMakeLists.txt +++ b/autotests/kconfig_compiler/CMakeLists.txt @@ -10,26 +10,10 @@ endif() # make sure the generated headers can be found include_directories(${KCFG_OUTPUT_DIR}) +include(${CMAKE_SOURCE_DIR}/KF5ConfigMacros.cmake) macro(GEN_KCFG_TEST_SOURCE _testName _srcs) - cmake_parse_arguments(ARG "" "KCFG" "" ${ARGN} ) - set(_kcfgFile ${ARG_KCFG}) - if (NOT _kcfgFile) - set(_kcfgFile "${_testName}.kcfg") - endif() - add_custom_command( - OUTPUT ${KCFG_OUTPUT_DIR}/${_testName}.cpp ${KCFG_OUTPUT_DIR}/${_testName}.h - COMMAND KF5::kconfig_compiler ${CMAKE_CURRENT_SOURCE_DIR}/${_kcfgFile} ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfgc - WORKING_DIRECTORY ${KCFG_OUTPUT_DIR} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_kcfgFile} ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfgc KF5::kconfig_compiler) - - # set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${_testName}.h PROPERTIES GENERATED TRUE) - qt5_generate_moc(${KCFG_OUTPUT_DIR}/${_testName}.h ${KCFG_OUTPUT_DIR}/${_testName}.moc ) - # do not run automoc on the generated file - set_source_files_properties(${KCFG_OUTPUT_DIR}/${_testName}.cpp PROPERTIES SKIP_AUTOMOC TRUE) - - set( ${_srcs} ${${_srcs}} ${KCFG_OUTPUT_DIR}/${_testName}.cpp) - set_property(SOURCE ${KCFG_OUTPUT_DIR}/${_testName}.cpp APPEND PROPERTY OBJECT_DEPENDS ${KCFG_OUTPUT_DIR}/${_testName}.moc ) -endmacro(GEN_KCFG_TEST_SOURCE) + KCONFIG_ADD_KCFG_FILES(${_srcs} ${_testName}.kcfgc ${ARGN}) +endmacro() include(ECMMarkAsTest) @@ -181,7 +165,7 @@ target_link_libraries(test12 KF5::ConfigGui) set(test13_SRCS test13main.cpp ) -gen_kcfg_test_source(test13 test13_SRCS) +gen_kcfg_test_source(test13 test13_SRCS GENERATE_MOC) ecm_add_test(TEST_NAME test13 ${test13_SRCS}) target_link_libraries(test13 KF5::ConfigGui) @@ -200,17 +184,17 @@ target_link_libraries(test_dpointer KF5::ConfigGui) ########### next target ############### set(test_signal_SRCS test_signal_main.cpp ) -gen_kcfg_test_source(test_signal test_signal_SRCS) +gen_kcfg_test_source(test_signal test_signal_SRCS GENERATE_MOC) ecm_add_test(TEST_NAME test_signal ${test_signal_SRCS}) target_link_libraries(test_signal KF5::ConfigGui) ########### next target ############### set(kconfigcompiler_test_signals_SRCS kconfigcompiler_test_signals.cpp) -gen_kcfg_test_source(signals_test_singleton kconfigcompiler_test_signals_SRCS KCFG signals_test.kcfg) -gen_kcfg_test_source(signals_test_no_singleton kconfigcompiler_test_signals_SRCS KCFG signals_test.kcfg) -gen_kcfg_test_source(signals_test_singleton_dpointer kconfigcompiler_test_signals_SRCS KCFG signals_test.kcfg) -gen_kcfg_test_source(signals_test_no_singleton_dpointer kconfigcompiler_test_signals_SRCS KCFG signals_test.kcfg) +gen_kcfg_test_source(signals_test_singleton kconfigcompiler_test_signals_SRCS GENERATE_MOC) +gen_kcfg_test_source(signals_test_no_singleton kconfigcompiler_test_signals_SRCS GENERATE_MOC) +gen_kcfg_test_source(signals_test_singleton_dpointer kconfigcompiler_test_signals_SRCS GENERATE_MOC) +gen_kcfg_test_source(signals_test_no_singleton_dpointer kconfigcompiler_test_signals_SRCS GENERATE_MOC) ecm_add_test(${kconfigcompiler_test_signals_SRCS} TEST_NAME kconfigcompiler-signals-test @@ -236,7 +220,7 @@ target_link_libraries(test_qdebugcategory KF5::ConfigGui) ########### next target ############### set(test_translation_qt_SRCS test_translation_qt_main.cpp) -gen_kcfg_test_source(test_translation_qt test_translation_qt_SRCS KCFG test_translation.kcfg) +gen_kcfg_test_source(test_translation_qt test_translation_qt_SRCS) ecm_add_test(TEST_NAME test_translation_qt ${test_translation_qt_SRCS}) target_link_libraries(test_translation_qt KF5::ConfigGui) @@ -244,7 +228,7 @@ target_link_libraries(test_translation_qt KF5::ConfigGui) ########### next target ############### set(test_translation_kde_SRCS test_translation_kde_main.cpp) -gen_kcfg_test_source(test_translation_kde test_translation_kde_SRCS KCFG test_translation.kcfg) +gen_kcfg_test_source(test_translation_kde test_translation_kde_SRCS) ecm_add_test(TEST_NAME test_translation_kde ${test_translation_kde_SRCS}) target_link_libraries(test_translation_kde KF5::ConfigGui) @@ -252,8 +236,7 @@ target_link_libraries(test_translation_kde KF5::ConfigGui) ########### next target ############### set(test_translation_kde_domain_SRCS test_translation_kde_domain_main.cpp) -gen_kcfg_test_source(test_translation_kde_domain test_translation_kde_domain_SRCS KCFG test_translation.kcfg) +gen_kcfg_test_source(test_translation_kde_domain test_translation_kde_domain_SRCS) ecm_add_test(TEST_NAME test_translation_kde_domain ${test_translation_kde_domain_SRCS}) target_link_libraries(test_translation_kde_domain KF5::ConfigGui) - diff --git a/autotests/kconfig_compiler/test1.kcfgc b/autotests/kconfig_compiler/test1.kcfgc index 2c8c096b..a96bcfc1 100644 --- a/autotests/kconfig_compiler/test1.kcfgc +++ b/autotests/kconfig_compiler/test1.kcfgc @@ -1,5 +1,6 @@ # Code generation options for kconfig_compiler_kf5 ClassName=Test1 +File=test1.kcfg # # Singleton=false # diff --git a/autotests/kconfig_compiler/test12.kcfgc b/autotests/kconfig_compiler/test12.kcfgc index 1ed82e7e..d3a8fe2f 100644 --- a/autotests/kconfig_compiler/test12.kcfgc +++ b/autotests/kconfig_compiler/test12.kcfgc @@ -1 +1,2 @@ ClassName=Test12 +File=test12.kcfg diff --git a/autotests/kconfig_compiler/test13.kcfgc b/autotests/kconfig_compiler/test13.kcfgc index 340b8cae..a0c3c13e 100644 --- a/autotests/kconfig_compiler/test13.kcfgc +++ b/autotests/kconfig_compiler/test13.kcfgc @@ -1,3 +1,4 @@ ClassName=Test13 GenerateProperties=true Mutators=brightness +File=test13.kcfg diff --git a/autotests/kconfig_compiler/test9.kcfgc b/autotests/kconfig_compiler/test9.kcfgc index cf416bb9..429de9c0 100644 --- a/autotests/kconfig_compiler/test9.kcfgc +++ b/autotests/kconfig_compiler/test9.kcfgc @@ -1,5 +1,6 @@ # Code generation options for kconfig_compiler_kf5 ClassName=Test9 +File=test9.kcfg # # Singleton=false # diff --git a/autotests/kconfig_compiler/test_qdebugcategory.kcfgc b/autotests/kconfig_compiler/test_qdebugcategory.kcfgc index a7ae26e7..032d032e 100644 --- a/autotests/kconfig_compiler/test_qdebugcategory.kcfgc +++ b/autotests/kconfig_compiler/test_qdebugcategory.kcfgc @@ -1,5 +1,5 @@ # Code generation options for kconfig_compiler_kf5 -File=test_qdebugcategory.kcfgc +File=test_qdebugcategory.kcfg ClassName=TestQCategory Singleton=false Mutators=true |