summaryrefslogtreecommitdiff
path: root/Tests/RunCMake/Make
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2018-01-24 08:17:43 -0500
committerBrad King <brad.king@kitware.com>2018-01-24 08:20:19 -0500
commit2d64f9f08dab62a3aa2215e0ed8f3dd8bcdc1fbf (patch)
tree530d24b3d664f16d90273a9644a9a37f0e8a365d /Tests/RunCMake/Make
parent1345bdf1b6520a2f0c9891ad3c6fee00a6a5f18d (diff)
downloadcmake-2d64f9f08dab62a3aa2215e0ed8f3dd8bcdc1fbf.tar.gz
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 0000000000..dbdf7bea93
--- /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 0000000000..a7a93a0905
--- /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 0000000000..e712aea5d9
--- /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 869d11e5d2..3b2b8f5932 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)