summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/Make
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2018-01-24 13:17:43 (GMT)
committerBrad King <brad.king@kitware.com>2018-01-24 13:20:19 (GMT)
commit2d64f9f08dab62a3aa2215e0ed8f3dd8bcdc1fbf (patch)
tree530d24b3d664f16d90273a9644a9a37f0e8a365d /Tests/RunCMake/Make
parent1345bdf1b6520a2f0c9891ad3c6fee00a6a5f18d (diff)
downloadCMake-2d64f9f08dab62a3aa2215e0ed8f3dd8bcdc1fbf.zip
CMake-2d64f9f08dab62a3aa2215e0ed8f3dd8bcdc1fbf.tar.gz
CMake-2d64f9f08dab62a3aa2215e0ed8f3dd8bcdc1fbf.tar.bz2
include_regular_expression: Fix propagation to subdirectories
Refactoring in commit v3.4.0-rc1~321^2 (cmMakefile: Remove special handling of INCLUDE_REGULAR_EXPRESSION, 2015-04-04) accidentally broke propagation of the include regex to subdirectories. Refactoring in commit v3.5.0-rc1~319^2~1 (cmState: Initialize properties immediately, 2015-10-07) moved maintenance of this value from `cmMakefile` to `cmStateSnapshot`. Restore propagation of the `INCLUDE_REGULAR_EXPRESSION` to subdirectories and add a test to cover it. Fixes: #17676
Diffstat (limited to 'Tests/RunCMake/Make')
-rw-r--r--Tests/RunCMake/Make/IncludeRegexSubdir-check.cmake4
-rw-r--r--Tests/RunCMake/Make/IncludeRegexSubdir.cmake3
-rw-r--r--Tests/RunCMake/Make/IncludeRegexSubdir/CMakeLists.txt1
-rw-r--r--Tests/RunCMake/Make/RunCMakeTest.cmake1
4 files changed, 9 insertions, 0 deletions
diff --git a/Tests/RunCMake/Make/IncludeRegexSubdir-check.cmake b/Tests/RunCMake/Make/IncludeRegexSubdir-check.cmake
new file mode 100644
index 0000000..dbdf7be
--- /dev/null
+++ b/Tests/RunCMake/Make/IncludeRegexSubdir-check.cmake
@@ -0,0 +1,4 @@
+include("${RunCMake_TEST_BINARY_DIR}/IncludeRegexSubdir/CMakeFiles/CMakeDirectoryInformation.cmake" OPTIONAL)
+if(NOT CMAKE_C_INCLUDE_REGEX_SCAN STREQUAL "^custom_include_regex$")
+ set(RunCMake_TEST_FAILED "CMAKE_C_INCLUDE_REGEX_SCAN has unexpected value:\n \"${CMAKE_C_INCLUDE_REGEX_SCAN}\"")
+endif()
diff --git a/Tests/RunCMake/Make/IncludeRegexSubdir.cmake b/Tests/RunCMake/Make/IncludeRegexSubdir.cmake
new file mode 100644
index 0000000..a7a93a0
--- /dev/null
+++ b/Tests/RunCMake/Make/IncludeRegexSubdir.cmake
@@ -0,0 +1,3 @@
+enable_language(C)
+include_regular_expression("^custom_include_regex$")
+add_subdirectory(IncludeRegexSubdir)
diff --git a/Tests/RunCMake/Make/IncludeRegexSubdir/CMakeLists.txt b/Tests/RunCMake/Make/IncludeRegexSubdir/CMakeLists.txt
new file mode 100644
index 0000000..e712aea
--- /dev/null
+++ b/Tests/RunCMake/Make/IncludeRegexSubdir/CMakeLists.txt
@@ -0,0 +1 @@
+# We only need this directory to be processed. No targets needed.
diff --git a/Tests/RunCMake/Make/RunCMakeTest.cmake b/Tests/RunCMake/Make/RunCMakeTest.cmake
index 869d11e..3b2b8f5 100644
--- a/Tests/RunCMake/Make/RunCMakeTest.cmake
+++ b/Tests/RunCMake/Make/RunCMakeTest.cmake
@@ -17,3 +17,4 @@ run_TargetMessages(VAR-ON -DCMAKE_TARGET_MESSAGES=ON)
run_TargetMessages(VAR-OFF -DCMAKE_TARGET_MESSAGES=OFF)
run_cmake(CustomCommandDepfile-ERROR)
+run_cmake(IncludeRegexSubdir)