summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/test_include_dirs/TID.cmake
diff options
context:
space:
mode:
authorMatthew Woehlke <matthew.woehlke@kitware.com>2017-07-10 16:09:24 (GMT)
committerMatthew Woehlke <matthew.woehlke@kitware.com>2017-07-12 17:28:21 (GMT)
commit117033c1d97456833e49336f6f3ebda5de3a5cbd (patch)
treeb114ea693c2b4357db39b61a2c7e061f06c059b2 /Tests/RunCMake/test_include_dirs/TID.cmake
parented5bde30f70a7da8cc95e600195b58e0d936e38d (diff)
downloadCMake-117033c1d97456833e49336f6f3ebda5de3a5cbd.zip
CMake-117033c1d97456833e49336f6f3ebda5de3a5cbd.tar.gz
CMake-117033c1d97456833e49336f6f3ebda5de3a5cbd.tar.bz2
Add TEST_INCLUDE_DIR[S] unit test
Add a unit test for the TEST_INCLUDE_DIR and (new) TEST_INCLUDE_DIRS directory properties.
Diffstat (limited to 'Tests/RunCMake/test_include_dirs/TID.cmake')
-rw-r--r--Tests/RunCMake/test_include_dirs/TID.cmake29
1 files changed, 29 insertions, 0 deletions
diff --git a/Tests/RunCMake/test_include_dirs/TID.cmake b/Tests/RunCMake/test_include_dirs/TID.cmake
new file mode 100644
index 0000000..1e74f90
--- /dev/null
+++ b/Tests/RunCMake/test_include_dirs/TID.cmake
@@ -0,0 +1,29 @@
+project(test_include_dirs)
+include(CTest)
+
+enable_testing()
+
+add_executable(dummy dummy.cpp)
+
+function(generate_tests NAME)
+ set(ctest_file "${CMAKE_CURRENT_BINARY_DIR}/${NAME}_tests.cmake")
+ add_custom_command(
+ OUTPUT "${ctest_file}"
+ COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_EXECUTABLE=$<TARGET_FILE:dummy>"
+ -D "TEST_SUITE=${NAME}"
+ -D "TEST_NAMES=${ARGN}"
+ -D "CTEST_FILE=${ctest_file}"
+ -P "${CMAKE_CURRENT_SOURCE_DIR}/add-tests.cmake"
+ VERBATIM
+ )
+ add_custom_target(${NAME}_tests ALL DEPENDS "${ctest_file}")
+endfunction()
+
+generate_tests(house dog cat)
+generate_tests(farm cow pig)
+generate_tests(zoo fox emu)
+
+set_property(DIRECTORY PROPERTY TEST_INCLUDE_FILE "house_tests.cmake")
+set_property(DIRECTORY APPEND PROPERTY TEST_INCLUDE_FILES "farm_tests.cmake")
+set_property(DIRECTORY APPEND PROPERTY TEST_INCLUDE_FILES "zoo_tests.cmake")