Merge topic 'policy-version-env' into release-4.0
33856b1d62 Add CMAKE_POLICY_VERSION_MINIMUM environment variable
04721acc6c Tests: Cover CMAKE_POLICY_VERSION_MINIMUM in initial cache script
729470ff6d Tests: Cover CMAKE_POLICY_VERSION_MINIMUM in script mode
6cd10ffed7 Tests: Cover CMAKE_POLICY_VERSION_MINIMUM as cache entry
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: John Parent <john.parent@kitware.com>
Merge-request: !10376
diff --git a/Help/envvar/CMAKE_POLICY_VERSION_MINIMUM.rst b/Help/envvar/CMAKE_POLICY_VERSION_MINIMUM.rst
new file mode 100644
index 0000000..0521f5c
--- /dev/null
+++ b/Help/envvar/CMAKE_POLICY_VERSION_MINIMUM.rst
@@ -0,0 +1,11 @@
+CMAKE_POLICY_VERSION_MINIMUM
+----------------------------
+
+.. versionadded:: 4.0
+
+.. include:: ENV_VAR.txt
+
+The default value for :variable:`CMAKE_POLICY_VERSION_MINIMUM` when there
+is no explicit configuration given on the first run while creating a new
+build tree. On later runs in an existing build tree the value persists in
+the cache as :variable:`CMAKE_POLICY_VERSION_MINIMUM`.
diff --git a/Help/manual/cmake-env-variables.7.rst b/Help/manual/cmake-env-variables.7.rst
index 140fc83..198e71f 100644
--- a/Help/manual/cmake-env-variables.7.rst
+++ b/Help/manual/cmake-env-variables.7.rst
@@ -27,6 +27,7 @@
/envvar/CMAKE_INCLUDE_PATH
/envvar/CMAKE_LIBRARY_PATH
/envvar/CMAKE_MAXIMUM_RECURSION_DEPTH
+ /envvar/CMAKE_POLICY_VERSION_MINIMUM
/envvar/CMAKE_PREFIX_PATH
/envvar/CMAKE_PROGRAM_PATH
/envvar/CMAKE_TLS_VERIFY
diff --git a/Help/release/4.0.rst b/Help/release/4.0.rst
index a7a7860..9122798 100644
--- a/Help/release/4.0.rst
+++ b/Help/release/4.0.rst
@@ -75,6 +75,8 @@
* The :variable:`CMAKE_POLICY_VERSION_MINIMUM` variable was added to
help packagers and end users try to configure existing projects that
have not been updated to work with supported CMake versions.
+ The :envvar:`CMAKE_POLICY_VERSION_MINIMUM` environment variable was
+ added to initialize it.
* The :variable:`CMAKE_XCODE_SCHEME_LLDB_INIT_FILE` variable and corresponding
:prop_tgt:`XCODE_SCHEME_LLDB_INIT_FILE` target property were added to tell
diff --git a/Help/variable/CMAKE_POLICY_VERSION_MINIMUM.rst b/Help/variable/CMAKE_POLICY_VERSION_MINIMUM.rst
index cf48ecf..d1fa143 100644
--- a/Help/variable/CMAKE_POLICY_VERSION_MINIMUM.rst
+++ b/Help/variable/CMAKE_POLICY_VERSION_MINIMUM.rst
@@ -16,6 +16,10 @@
``-DCMAKE_POLICY_VERSION_MINIMUM=3.5``, to try configuring a project
that has not been updated to set at least that policy version itself.
+ Alternatively, users may set the :envvar:`CMAKE_POLICY_VERSION_MINIMUM`
+ environment variable to initialize the cache entry in new build trees
+ automatically.
+
* Projects may set this variable before a call to :command:`add_subdirectory`
that adds a third-party project in order to set its policy version without
modifying third-party code.
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index 0bee1cc..934f635 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -547,6 +547,21 @@
// Parse the args
bool cmake::SetCacheArgs(std::vector<std::string> const& args)
{
+ static std::string const kCMAKE_POLICY_VERSION_MINIMUM =
+ "CMAKE_POLICY_VERSION_MINIMUM";
+ if (!this->State->GetInitializedCacheValue(kCMAKE_POLICY_VERSION_MINIMUM)) {
+ cm::optional<std::string> policyVersion =
+ cmSystemTools::GetEnvVar(kCMAKE_POLICY_VERSION_MINIMUM);
+ if (policyVersion && !policyVersion->empty()) {
+ this->AddCacheEntry(
+ kCMAKE_POLICY_VERSION_MINIMUM, *policyVersion,
+ "Override policy version for cmake_minimum_required calls.",
+ cmStateEnums::STRING);
+ this->State->SetCacheEntryProperty(kCMAKE_POLICY_VERSION_MINIMUM,
+ "ADVANCED", "1");
+ }
+ }
+
auto DefineLambda = [](std::string const& entry, cmake* state) -> bool {
std::string var;
std::string value;
diff --git a/Tests/EnforceConfig.cmake.in b/Tests/EnforceConfig.cmake.in
index fd785a5..f9f476d 100644
--- a/Tests/EnforceConfig.cmake.in
+++ b/Tests/EnforceConfig.cmake.in
@@ -36,6 +36,7 @@
unset(ENV{CMAKE_GENERATOR_PLATFORM})
unset(ENV{CMAKE_GENERATOR_TOOLSET})
unset(ENV{CMAKE_EXPORT_COMPILE_COMMANDS})
+unset(ENV{CMAKE_POLICY_VERSION_MINIMUM})
# Verify that our module implementations do not recurse too much.
set(ENV{CMAKE_MAXIMUM_RECURSION_DEPTH} 100)
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVar-stderr.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVar-stderr.txt
new file mode 100644
index 0000000..75d5a7e
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVar-stderr.txt
@@ -0,0 +1,4 @@
+^CMAKE_POLICY_VERSION_MINIMUM='3\.10'
+CMAKE_MINIMUM_REQUIRED_VERSION='3\.1'
+CMP0071='NEW'
+CMP0072=''$
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVar.cmake b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVar.cmake
new file mode 100644
index 0000000..e158354
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVar.cmake
@@ -0,0 +1 @@
+include(${CMAKE_CURRENT_LIST_DIR}/PolicyVersionVar.cmake)
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVariableBad-result.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBad-result.txt
similarity index 100%
rename from Tests/RunCMake/cmake_minimum_required/PolicyVersionVariableBad-result.txt
rename to Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBad-result.txt
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBad-stderr.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBad-stderr.txt
new file mode 100644
index 0000000..1ddab39
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBad-stderr.txt
@@ -0,0 +1,10 @@
+^CMake Error at CMakeLists\.txt:1 \(cmake_minimum_required\):
+ Invalid CMAKE_POLICY_VERSION_MINIMUM value "\.\.\.3\.10"\. A numeric
+ major\.minor\[\.patch\[\.tweak\]\] must be given\.
++
+CMake Error at PolicyVersionVarBad\.cmake:1 \(cmake_minimum_required\):
+ Invalid CMAKE_POLICY_VERSION_MINIMUM value "\.\.\.3\.10"\. A numeric
+ major\.minor\[\.patch\[\.tweak\]\] must be given\.
+Call Stack \(most recent call first\):
+ PolicyVersionEnvVarBad\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)$
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBad.cmake b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBad.cmake
new file mode 100644
index 0000000..8ae5e2a
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBad.cmake
@@ -0,0 +1 @@
+include(${CMAKE_CURRENT_LIST_DIR}/PolicyVersionVarBad.cmake)
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVariableBad-result.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBadCache-result.txt
similarity index 100%
copy from Tests/RunCMake/cmake_minimum_required/PolicyVersionVariableBad-result.txt
copy to Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBadCache-result.txt
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBadCache-stderr.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBadCache-stderr.txt
new file mode 100644
index 0000000..cb46948
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBadCache-stderr.txt
@@ -0,0 +1,9 @@
+^CMake Error at PolicyVersionVarBad\.cmake:1 \(cmake_minimum_required\):
+ Invalid CMAKE_POLICY_VERSION_MINIMUM value "\.\.\.3\.10"\. A numeric
+ major\.minor\[\.patch\[\.tweak\]\] must be given\.
+Call Stack \(most recent call first\):
+ PolicyVersionEnvVarBad\.cmake:[0-9]+ \(include\)
++
+CMake Error at CMakeLists\.txt:1 \(cmake_minimum_required\):
+ Invalid CMAKE_POLICY_VERSION_MINIMUM value "\.\.\.3\.10"\. A numeric
+ major\.minor\[\.patch\[\.tweak\]\] must be given\.$
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBadCache.cmake b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBadCache.cmake
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBadCache.cmake
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVariableBad-result.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBadScript-result.txt
similarity index 100%
copy from Tests/RunCMake/cmake_minimum_required/PolicyVersionVariableBad-result.txt
copy to Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBadScript-result.txt
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBadScript-stderr.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBadScript-stderr.txt
new file mode 100644
index 0000000..b808e08
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBadScript-stderr.txt
@@ -0,0 +1,7 @@
+^CMake Error at [^
+]*/PolicyVersionVarBad\.cmake:1 \(cmake_minimum_required\):
+ Invalid CMAKE_POLICY_VERSION_MINIMUM value "\.\.\.3\.10"\. A numeric
+ major\.minor\[\.patch\[\.tweak\]\] must be given\.
+Call Stack \(most recent call first\):
+ [^
+]*/PolicyVersionEnvVarBadScript\.cmake:[0-9]+ \(include\)$
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBadScript.cmake b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBadScript.cmake
new file mode 100644
index 0000000..8ae5e2a
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarBadScript.cmake
@@ -0,0 +1 @@
+include(${CMAKE_CURRENT_LIST_DIR}/PolicyVersionVarBad.cmake)
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarCache-stderr.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarCache-stderr.txt
new file mode 100644
index 0000000..75d5a7e
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarCache-stderr.txt
@@ -0,0 +1,4 @@
+^CMAKE_POLICY_VERSION_MINIMUM='3\.10'
+CMAKE_MINIMUM_REQUIRED_VERSION='3\.1'
+CMP0071='NEW'
+CMP0072=''$
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarCache.cmake b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarCache.cmake
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarCache.cmake
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarScript-stderr.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarScript-stderr.txt
new file mode 100644
index 0000000..75d5a7e
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarScript-stderr.txt
@@ -0,0 +1,4 @@
+^CMAKE_POLICY_VERSION_MINIMUM='3\.10'
+CMAKE_MINIMUM_REQUIRED_VERSION='3\.1'
+CMP0071='NEW'
+CMP0072=''$
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarScript.cmake b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarScript.cmake
new file mode 100644
index 0000000..e158354
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionEnvVarScript.cmake
@@ -0,0 +1 @@
+include(${CMAKE_CURRENT_LIST_DIR}/PolicyVersionVar.cmake)
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVar-stderr.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVar-stderr.txt
new file mode 100644
index 0000000..75d5a7e
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVar-stderr.txt
@@ -0,0 +1,4 @@
+^CMAKE_POLICY_VERSION_MINIMUM='3\.10'
+CMAKE_MINIMUM_REQUIRED_VERSION='3\.1'
+CMP0071='NEW'
+CMP0072=''$
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVariable.cmake b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVar.cmake
similarity index 76%
rename from Tests/RunCMake/cmake_minimum_required/PolicyVersionVariable.cmake
rename to Tests/RunCMake/cmake_minimum_required/PolicyVersionVar.cmake
index 553fc94..c8975dd 100644
--- a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVariable.cmake
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVar.cmake
@@ -1,4 +1,4 @@
-set(CMAKE_POLICY_VERSION_MINIMUM 3.10)
+message("CMAKE_POLICY_VERSION_MINIMUM='${CMAKE_POLICY_VERSION_MINIMUM}'")
cmake_minimum_required(VERSION 3.1...3.4)
message("CMAKE_MINIMUM_REQUIRED_VERSION='${CMAKE_MINIMUM_REQUIRED_VERSION}'")
foreach(policy CMP0071 CMP0072)
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVariableBad-result.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBad-result.txt
similarity index 100%
copy from Tests/RunCMake/cmake_minimum_required/PolicyVersionVariableBad-result.txt
copy to Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBad-result.txt
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBad-stderr.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBad-stderr.txt
new file mode 100644
index 0000000..ff6997d
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBad-stderr.txt
@@ -0,0 +1,9 @@
+^CMake Error at CMakeLists\.txt:1 \(cmake_minimum_required\):
+ Invalid CMAKE_POLICY_VERSION_MINIMUM value "\.\.\.3\.10"\. A numeric
+ major\.minor\[\.patch\[\.tweak\]\] must be given\.
++
+CMake Error at PolicyVersionVarBad\.cmake:1 \(cmake_minimum_required\):
+ Invalid CMAKE_POLICY_VERSION_MINIMUM value "\.\.\.3\.10"\. A numeric
+ major\.minor\[\.patch\[\.tweak\]\] must be given\.
+Call Stack \(most recent call first\):
+ CMakeLists\.txt:[0-9]+ \(include\)$
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBad.cmake b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBad.cmake
new file mode 100644
index 0000000..c602a4a
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBad.cmake
@@ -0,0 +1 @@
+cmake_minimum_required(VERSION 3.1...3.4)
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVariableBad-result.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBadCache-result.txt
similarity index 100%
copy from Tests/RunCMake/cmake_minimum_required/PolicyVersionVariableBad-result.txt
copy to Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBadCache-result.txt
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBadCache-stderr.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBadCache-stderr.txt
new file mode 100644
index 0000000..808a6e1
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBadCache-stderr.txt
@@ -0,0 +1,7 @@
+^CMake Error at PolicyVersionVarBad\.cmake:1 \(cmake_minimum_required\):
+ Invalid CMAKE_POLICY_VERSION_MINIMUM value "\.\.\.3\.10"\. A numeric
+ major\.minor\[\.patch\[\.tweak\]\] must be given\.
++
+CMake Error at CMakeLists\.txt:1 \(cmake_minimum_required\):
+ Invalid CMAKE_POLICY_VERSION_MINIMUM value "\.\.\.3\.10"\. A numeric
+ major\.minor\[\.patch\[\.tweak\]\] must be given\.$
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBadCache.cmake b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBadCache.cmake
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBadCache.cmake
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVariableBad-result.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBadScript-result.txt
similarity index 100%
copy from Tests/RunCMake/cmake_minimum_required/PolicyVersionVariableBad-result.txt
copy to Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBadScript-result.txt
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBadScript-stderr.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBadScript-stderr.txt
new file mode 100644
index 0000000..e07ff15
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBadScript-stderr.txt
@@ -0,0 +1,7 @@
+^CMake Error at [^
+]*/PolicyVersionVarBad\.cmake:1 \(cmake_minimum_required\):
+ Invalid CMAKE_POLICY_VERSION_MINIMUM value "\.\.\.3\.10"\. A numeric
+ major\.minor\[\.patch\[\.tweak\]\] must be given\.
+Call Stack \(most recent call first\):
+ [^
+]*/PolicyVersionVarBadScript\.cmake:1 \(include\)$
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBadScript.cmake b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBadScript.cmake
new file mode 100644
index 0000000..8ae5e2a
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarBadScript.cmake
@@ -0,0 +1 @@
+include(${CMAKE_CURRENT_LIST_DIR}/PolicyVersionVarBad.cmake)
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarCache-stderr.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarCache-stderr.txt
new file mode 100644
index 0000000..75d5a7e
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarCache-stderr.txt
@@ -0,0 +1,4 @@
+^CMAKE_POLICY_VERSION_MINIMUM='3\.10'
+CMAKE_MINIMUM_REQUIRED_VERSION='3\.1'
+CMP0071='NEW'
+CMP0072=''$
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarCache.cmake b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarCache.cmake
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarCache.cmake
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarScript-stderr.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarScript-stderr.txt
new file mode 100644
index 0000000..75d5a7e
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarScript-stderr.txt
@@ -0,0 +1,4 @@
+^CMAKE_POLICY_VERSION_MINIMUM='3\.10'
+CMAKE_MINIMUM_REQUIRED_VERSION='3\.1'
+CMP0071='NEW'
+CMP0072=''$
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarScript.cmake b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarScript.cmake
new file mode 100644
index 0000000..e158354
--- /dev/null
+++ b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVarScript.cmake
@@ -0,0 +1 @@
+include(${CMAKE_CURRENT_LIST_DIR}/PolicyVersionVar.cmake)
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVariable-stderr.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVariable-stderr.txt
deleted file mode 100644
index 4f161bf..0000000
--- a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVariable-stderr.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-^CMAKE_MINIMUM_REQUIRED_VERSION='3\.1'
-CMP0071='NEW'
-CMP0072=''$
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVariableBad-stderr.txt b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVariableBad-stderr.txt
deleted file mode 100644
index 3a59bb7..0000000
--- a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVariableBad-stderr.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-^CMake Error at PolicyVersionVariableBad\.cmake:2 \(cmake_minimum_required\):
- Invalid CMAKE_POLICY_VERSION_MINIMUM value "\.\.\.3\.10"\. A numeric
- major\.minor\[\.patch\[\.tweak\]\] must be given\.
-Call Stack \(most recent call first\):
- CMakeLists\.txt:[0-9]+ \(include\)$
diff --git a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVariableBad.cmake b/Tests/RunCMake/cmake_minimum_required/PolicyVersionVariableBad.cmake
deleted file mode 100644
index 763997b..0000000
--- a/Tests/RunCMake/cmake_minimum_required/PolicyVersionVariableBad.cmake
+++ /dev/null
@@ -1,2 +0,0 @@
-set(CMAKE_POLICY_VERSION_MINIMUM ...3.10)
-cmake_minimum_required(VERSION 3.1...3.4)
diff --git a/Tests/RunCMake/cmake_minimum_required/RunCMakeTest.cmake b/Tests/RunCMake/cmake_minimum_required/RunCMakeTest.cmake
index d91f171..8871447 100644
--- a/Tests/RunCMake/cmake_minimum_required/RunCMakeTest.cmake
+++ b/Tests/RunCMake/cmake_minimum_required/RunCMakeTest.cmake
@@ -7,5 +7,20 @@
run_cmake(Range)
run_cmake(RangeBad)
run_cmake(Unknown)
-run_cmake(PolicyVersionVariable)
-run_cmake(PolicyVersionVariableBad)
+
+run_cmake_with_options(PolicyVersionVar -DCMAKE_POLICY_VERSION_MINIMUM=3.10)
+run_cmake_with_options(PolicyVersionVarCache -DCMAKE_POLICY_VERSION_MINIMUM=3.10 -C ${CMAKE_CURRENT_LIST_DIR}/PolicyVersionVar.cmake)
+run_cmake_script(PolicyVersionVarScript -DCMAKE_POLICY_VERSION_MINIMUM=3.10)
+run_cmake_with_options(PolicyVersionVarBad -DCMAKE_POLICY_VERSION_MINIMUM=...3.10)
+run_cmake_with_options(PolicyVersionVarBadCache -DCMAKE_POLICY_VERSION_MINIMUM=...3.10 -C ${CMAKE_CURRENT_LIST_DIR}/PolicyVersionVarBad.cmake)
+run_cmake_script(PolicyVersionVarBadScript -DCMAKE_POLICY_VERSION_MINIMUM=...3.10)
+
+set(ENV{CMAKE_POLICY_VERSION_MINIMUM} 3.10)
+run_cmake(PolicyVersionEnvVar)
+run_cmake_with_options(PolicyVersionEnvVarCache -C ${CMAKE_CURRENT_LIST_DIR}/PolicyVersionEnvVar.cmake)
+run_cmake_script(PolicyVersionEnvVarScript)
+set(ENV{CMAKE_POLICY_VERSION_MINIMUM} ...3.10)
+run_cmake(PolicyVersionEnvVarBad)
+run_cmake_with_options(PolicyVersionEnvVarBadCache -C ${CMAKE_CURRENT_LIST_DIR}/PolicyVersionEnvVarBad.cmake)
+run_cmake_script(PolicyVersionEnvVarBadScript)
+unset(ENV{CMAKE_POLICY_VERSION_MINIMUM})