summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Golubev <fatzer2@gmail.com>2016-12-18 16:44:15 +0300
committerSlávek Banko <slavek.banko@axis.cz>2017-01-29 02:27:15 +0100
commitd556a8752c0862aa2d84a105dc8ac41b61ba7824 (patch)
tree2bd653a4c9007040ee33098b5137596734d58445
parentf2d8e88f099f908075d3d7b166fdb40d9be6c1c5 (diff)
downloadtdelibs-d556a8752c0862aa2d84a105dc8ac41b61ba7824.tar.gz
tdelibs-d556a8752c0862aa2d84a105dc8ac41b61ba7824.zip
fixup! tdecore/tdeconfig_compiler: add check/test executables
Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
-rw-r--r--tdecore/tdeconfig_compiler/tests/CMakeLists.txt82
1 files changed, 82 insertions, 0 deletions
diff --git a/tdecore/tdeconfig_compiler/tests/CMakeLists.txt b/tdecore/tdeconfig_compiler/tests/CMakeLists.txt
new file mode 100644
index 000000000..3034773b0
--- /dev/null
+++ b/tdecore/tdeconfig_compiler/tests/CMakeLists.txt
@@ -0,0 +1,82 @@
+#################################################
+#
+# (C) 2016 Alexander Golubev
+# fatzer2 (AT) gmail.com
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+include_directories(
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_SOURCE_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_SOURCE_DIR}/dcop
+ ${CMAKE_BINARY_DIR}/tdecore
+ ${CMAKE_SOURCE_DIR}/tdecore
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+)
+
+add_definitions(
+ -DQT_NO_CAST_ASCII
+ -DSRCDIR="${CMAKE_CURRENT_SOURCE_DIR}"
+)
+
+set( TESTS test1 test2 test3 test4 test5 test6 test7 test8 test9 test_dpointer )
+
+# A couple of test got specific settings
+set( test8_KCFG test8a test8b )
+set( test_dpointer_MAIN test_dpointer_main.cpp )
+
+foreach( tst ${TESTS} )
+ unset( _sources )
+
+ # add main file (the second one is default
+ if( ${tst}_MAIN )
+ list( APPEND _sources ${${tst}_MAIN} )
+ else()
+ list( APPEND _sources "${tst}main.cpp" )
+ endif()
+
+ # set the default kcfg name
+ if( NOT ${tst}_KCFG )
+ set( ${tst}_KCFG ${tst} )
+ endif()
+
+ # kcfgc's here are not designed to be passed to kde3_add_kcfg_files() macro
+ # so we will process them manually
+ foreach( kcfg ${${tst}_KCFG})
+ add_custom_command(
+ OUTPUT ${kcfg}.cpp ${kcfg}.h
+ COMMAND "${CMAKE_BINARY_DIR}/tdecore/tdeconfig_compiler/tdeconfig_compiler"
+ ARGS "${CMAKE_CURRENT_SOURCE_DIR}/${kcfg}.kcfg"
+ "${CMAKE_CURRENT_SOURCE_DIR}/${kcfg}.kcfgc"
+ DEPENDS tdeconfig_compiler "${CMAKE_CURRENT_SOURCE_DIR}/${kcfg}.kcfg"
+ "${CMAKE_CURRENT_SOURCE_DIR}/${kcfg}.kcfgc"
+ )
+
+ add_test( NAME tdecore/tdeconfig_compiler/${kcfg}-cpp
+ COMMAND ${CMAKE_COMMAND} -E compare_files
+ "${CMAKE_CURRENT_BINARY_DIR}/${kcfg}.cpp"
+ "${CMAKE_CURRENT_SOURCE_DIR}/${kcfg}.cpp.ref" )
+
+ add_test( NAME tdecore/tdeconfig_compiler/${kcfg}-header
+ COMMAND ${CMAKE_COMMAND} -E compare_files
+ "${CMAKE_CURRENT_BINARY_DIR}/${kcfg}.h"
+ "${CMAKE_CURRENT_SOURCE_DIR}/${kcfg}.h.ref" )
+
+ list( APPEND _sources ${CMAKE_CURRENT_BINARY_DIR}/${kcfg}.cpp )
+ endforeach( )
+
+ tde_add_check_executable( ${tst} AUTOMOC
+ SOURCES ${_sources}
+ LINK tdecore-shared
+ )
+endforeach( tst ${TESTS} )