summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-11-08 13:59:54 (GMT)
committerKitware Robot <kwrobot@kitware.com>2022-11-08 14:00:14 (GMT)
commiteee0c6ec0d3183a808001a45dc943ee8db060e4d (patch)
treef00e4272f860cfb79755d6a7b06e10edd77040bf /Tests
parentf82ccde1d8f422a7ef604336c6a02f7e6e860d11 (diff)
parent96ddcbee60ee304efd047bc0e20cf89066877ab5 (diff)
downloadCMake-eee0c6ec0d3183a808001a45dc943ee8db060e4d.zip
CMake-eee0c6ec0d3183a808001a45dc943ee8db060e4d.tar.gz
CMake-eee0c6ec0d3183a808001a45dc943ee8db060e4d.tar.bz2
Merge topic 'block-var-scope'
96ddcbee60 cmState: Clarify name of member tracking the active scope in a directory cb53d9309e block: Fix variable scope protection from modification by subdirectories Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7885
Diffstat (limited to 'Tests')
-rw-r--r--Tests/RunCMake/block/Scope-POLICIES.cmake10
-rw-r--r--Tests/RunCMake/block/Scope-VARIABLES.cmake12
-rw-r--r--Tests/RunCMake/block/Scope.cmake12
-rw-r--r--Tests/RunCMake/block/Scope/CMakeLists.txt2
4 files changed, 34 insertions, 2 deletions
diff --git a/Tests/RunCMake/block/Scope-POLICIES.cmake b/Tests/RunCMake/block/Scope-POLICIES.cmake
index 789b3d9..9536a99 100644
--- a/Tests/RunCMake/block/Scope-POLICIES.cmake
+++ b/Tests/RunCMake/block/Scope-POLICIES.cmake
@@ -2,6 +2,9 @@
set(VAR1 "OUTER1")
set(VAR2 "OUTER2")
+set(VARSUB1 "OUTERSUB1")
+set(VARSUB2 "OUTERSUB2")
+
cmake_policy(SET CMP0139 NEW)
# create a block with a new scope for policies
@@ -9,6 +12,7 @@ block(SCOPE_FOR POLICIES)
set(VAR1 "INNER1")
unset(VAR2)
set(VAR3 "INNER3")
+ add_subdirectory(Scope)
cmake_policy(SET CMP0139 OLD)
endblock()
@@ -23,6 +27,12 @@ endif()
if(NOT DEFINED VAR3 OR NOT VAR3 STREQUAL "INNER3")
message(SEND_ERROR "block/endblock: VAR3 has unexpected value: ${VAR3}")
endif()
+if(NOT DEFINED VARSUB1 OR NOT VARSUB1 STREQUAL "SUBDIR1")
+ message(SEND_ERROR "block/endblock: VARSUB1 has unexpected value: ${VARSUB1}")
+endif()
+if(NOT DEFINED VARSUB2 OR NOT VARSUB2 STREQUAL "SUBDIR2")
+ message(SEND_ERROR "block/endblock: VARSUB2 has unexpected value: ${VARSUB2}")
+endif()
cmake_policy(GET CMP0139 CMP0139_STATUS)
if(NOT CMP0139_STATUS STREQUAL "NEW")
diff --git a/Tests/RunCMake/block/Scope-VARIABLES.cmake b/Tests/RunCMake/block/Scope-VARIABLES.cmake
index 140e638..ac8da14 100644
--- a/Tests/RunCMake/block/Scope-VARIABLES.cmake
+++ b/Tests/RunCMake/block/Scope-VARIABLES.cmake
@@ -8,16 +8,20 @@ set(VAR5 "OUTER5")
set(VAR6 "CACHE6" CACHE STRING "")
set(VAR6 "OUTER6")
+set(VARSUB1 "OUTERSUB1")
+set(VARSUB2 "OUTERSUB2")
+
cmake_policy(SET CMP0139 NEW)
# create a block with a new scope for variables
-block(SCOPE_FOR VARIABLES PROPAGATE VAR3 VAR4 VAR5 VAR6 VAR7)
+block(SCOPE_FOR VARIABLES PROPAGATE VAR3 VAR4 VAR5 VAR6 VAR7 VARSUB2)
set(VAR1 "INNER1")
set(VAR2 "INNER2" PARENT_SCOPE)
set(VAR3 "INNER3")
unset(VAR4)
unset(VAR6)
set(VAR7 "INNER7")
+ add_subdirectory(Scope)
cmake_policy(SET CMP0139 OLD)
endblock()
@@ -45,6 +49,12 @@ endif()
if(NOT DEFINED VAR7 OR NOT VAR7 STREQUAL "INNER7")
message(SEND_ERROR "block/endblock: VAR7 has unexpected value: ${VAR7}")
endif()
+if(NOT DEFINED VARSUB1 OR NOT VARSUB1 STREQUAL "OUTERSUB1")
+ message(SEND_ERROR "block/endblock: VARSUB1 has unexpected value: ${VARSUB1}")
+endif()
+if(NOT DEFINED VARSUB2 OR NOT VARSUB2 STREQUAL "SUBDIR2")
+ message(SEND_ERROR "block/endblock: VARSUB2 has unexpected value: ${VARSUB2}")
+endif()
cmake_policy(GET CMP0139 CMP0139_STATUS)
if(NOT CMP0139_STATUS STREQUAL "OLD")
diff --git a/Tests/RunCMake/block/Scope.cmake b/Tests/RunCMake/block/Scope.cmake
index e1af50a..ef43df6 100644
--- a/Tests/RunCMake/block/Scope.cmake
+++ b/Tests/RunCMake/block/Scope.cmake
@@ -8,16 +8,20 @@ set(VAR5 "OUTER5")
set(VAR6 "CACHE6" CACHE STRING "")
set(VAR6 "OUTER6")
+set(VARSUB1 "OUTERSUB1")
+set(VARSUB2 "OUTERSUB2")
+
cmake_policy(SET CMP0139 NEW)
# create a block with a new scope for variables and policies
-block(PROPAGATE VAR3 VAR4 VAR5 VAR6 VAR7)
+block(PROPAGATE VAR3 VAR4 VAR5 VAR6 VAR7 VARSUB2)
set(VAR1 "INNER1")
set(VAR2 "INNER2" PARENT_SCOPE)
set(VAR3 "INNER3")
unset(VAR4)
unset(VAR6)
set(VAR7 "INNER7")
+ add_subdirectory(Scope)
cmake_policy(SET CMP0139 OLD)
endblock()
@@ -45,6 +49,12 @@ endif()
if(NOT DEFINED VAR7 OR NOT VAR7 STREQUAL "INNER7")
message(SEND_ERROR "block/endblock: VAR6 has unexpected value: ${VAR7}")
endif()
+if(NOT DEFINED VARSUB1 OR NOT VARSUB1 STREQUAL "OUTERSUB1")
+ message(SEND_ERROR "block/endblock: VARSUB1 has unexpected value: ${VARSUB1}")
+endif()
+if(NOT DEFINED VARSUB2 OR NOT VARSUB2 STREQUAL "SUBDIR2")
+ message(SEND_ERROR "block/endblock: VARSUB2 has unexpected value: ${VARSUB2}")
+endif()
cmake_policy(GET CMP0139 CMP0139_STATUS)
if(NOT CMP0139_STATUS STREQUAL "NEW")
diff --git a/Tests/RunCMake/block/Scope/CMakeLists.txt b/Tests/RunCMake/block/Scope/CMakeLists.txt
new file mode 100644
index 0000000..afd79e3
--- /dev/null
+++ b/Tests/RunCMake/block/Scope/CMakeLists.txt
@@ -0,0 +1,2 @@
+set(VARSUB1 "SUBDIR1" PARENT_SCOPE)
+set(VARSUB2 "SUBDIR2" PARENT_SCOPE)