Merge topic 'CMakeDependentOption-revert-parens' into release-3.21 d777ca12f6 CMakeDependentOption: Revert "Allow parentheses in the depends string" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6368
diff --git a/Source/cmCoreTryCompile.cxx b/Source/cmCoreTryCompile.cxx index 8ecf264..bf18143 100644 --- a/Source/cmCoreTryCompile.cxx +++ b/Source/cmCoreTryCompile.cxx
@@ -570,6 +570,13 @@ *cmp0123 == "NEW"_s ? "NEW" : "OLD"); } + /* Set cache/normal variable policy to match outer project. + It may affect toolchain files. */ + if (this->Makefile->GetPolicyStatus(cmPolicies::CMP0126) != + cmPolicies::NEW) { + fprintf(fout, "cmake_policy(SET CMP0126 OLD)\n"); + } + std::string projectLangs; for (std::string const& li : testLangs) { projectLangs += " " + li;
diff --git a/Tests/RunCMake/ToolchainFile/CMP0126-NEW-stderr.txt b/Tests/RunCMake/ToolchainFile/CMP0126-NEW-stderr.txt new file mode 100644 index 0000000..7b91b43 --- /dev/null +++ b/Tests/RunCMake/ToolchainFile/CMP0126-NEW-stderr.txt
@@ -0,0 +1 @@ +^try_compile CMP0126='NEW' VAR='1'
diff --git a/Tests/RunCMake/ToolchainFile/CMP0126-NEW-toolchain.cmake b/Tests/RunCMake/ToolchainFile/CMP0126-NEW-toolchain.cmake new file mode 100644 index 0000000..2f1ec86 --- /dev/null +++ b/Tests/RunCMake/ToolchainFile/CMP0126-NEW-toolchain.cmake
@@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/CMP0126-toolchain.cmake")
diff --git a/Tests/RunCMake/ToolchainFile/CMP0126-NEW.cmake b/Tests/RunCMake/ToolchainFile/CMP0126-NEW.cmake new file mode 100644 index 0000000..62d4df1 --- /dev/null +++ b/Tests/RunCMake/ToolchainFile/CMP0126-NEW.cmake
@@ -0,0 +1,2 @@ +cmake_policy(SET CMP0126 NEW) +enable_language(C)
diff --git a/Tests/RunCMake/ToolchainFile/CMP0126-OLD-stderr.txt b/Tests/RunCMake/ToolchainFile/CMP0126-OLD-stderr.txt new file mode 100644 index 0000000..f3c068a --- /dev/null +++ b/Tests/RunCMake/ToolchainFile/CMP0126-OLD-stderr.txt
@@ -0,0 +1 @@ +^try_compile CMP0126='OLD' VAR='2'
diff --git a/Tests/RunCMake/ToolchainFile/CMP0126-OLD-toolchain.cmake b/Tests/RunCMake/ToolchainFile/CMP0126-OLD-toolchain.cmake new file mode 100644 index 0000000..2f1ec86 --- /dev/null +++ b/Tests/RunCMake/ToolchainFile/CMP0126-OLD-toolchain.cmake
@@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/CMP0126-toolchain.cmake")
diff --git a/Tests/RunCMake/ToolchainFile/CMP0126-OLD.cmake b/Tests/RunCMake/ToolchainFile/CMP0126-OLD.cmake new file mode 100644 index 0000000..ef821fe --- /dev/null +++ b/Tests/RunCMake/ToolchainFile/CMP0126-OLD.cmake
@@ -0,0 +1,2 @@ +cmake_policy(SET CMP0126 OLD) +enable_language(C)
diff --git a/Tests/RunCMake/ToolchainFile/CMP0126-WARN-stderr.txt b/Tests/RunCMake/ToolchainFile/CMP0126-WARN-stderr.txt new file mode 100644 index 0000000..f3c068a --- /dev/null +++ b/Tests/RunCMake/ToolchainFile/CMP0126-WARN-stderr.txt
@@ -0,0 +1 @@ +^try_compile CMP0126='OLD' VAR='2'
diff --git a/Tests/RunCMake/ToolchainFile/CMP0126-WARN-toolchain.cmake b/Tests/RunCMake/ToolchainFile/CMP0126-WARN-toolchain.cmake new file mode 100644 index 0000000..2f1ec86 --- /dev/null +++ b/Tests/RunCMake/ToolchainFile/CMP0126-WARN-toolchain.cmake
@@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/CMP0126-toolchain.cmake")
diff --git a/Tests/RunCMake/ToolchainFile/CMP0126-WARN.cmake b/Tests/RunCMake/ToolchainFile/CMP0126-WARN.cmake new file mode 100644 index 0000000..426e2b1 --- /dev/null +++ b/Tests/RunCMake/ToolchainFile/CMP0126-WARN.cmake
@@ -0,0 +1,2 @@ +# leave CMP0126 unset +enable_language(C)
diff --git a/Tests/RunCMake/ToolchainFile/CMP0126-toolchain.cmake b/Tests/RunCMake/ToolchainFile/CMP0126-toolchain.cmake new file mode 100644 index 0000000..d5af14f --- /dev/null +++ b/Tests/RunCMake/ToolchainFile/CMP0126-toolchain.cmake
@@ -0,0 +1,7 @@ +get_property(_IN_TC GLOBAL PROPERTY IN_TRY_COMPILE) +if(_IN_TC) + cmake_policy(GET CMP0126 cmp0126) + set(VAR 1) + set(VAR 2 CACHE STRING "") + message("try_compile CMP0126='${cmp0126}' VAR='${VAR}'") +endif()
diff --git a/Tests/RunCMake/ToolchainFile/RunCMakeTest.cmake b/Tests/RunCMake/ToolchainFile/RunCMakeTest.cmake index 304c105..7744ee8 100644 --- a/Tests/RunCMake/ToolchainFile/RunCMakeTest.cmake +++ b/Tests/RunCMake/ToolchainFile/RunCMakeTest.cmake
@@ -11,6 +11,9 @@ run_cmake_toolchain(FlagsInit) run_cmake_toolchain(LangVars) run_cmake_toolchain(LinkFlagsInit) +run_cmake_toolchain(CMP0126-NEW) +run_cmake_toolchain(CMP0126-OLD) +run_cmake_toolchain(CMP0126-WARN) function(run_IncludeDirectories) run_cmake_toolchain(IncludeDirectories)