Browse Source

CMP0083: fix warning message on try_compile

Fixes: #18593
Marc Chevrier 7 years ago
parent
commit
b10f7ac534
2 changed files with 9 additions and 1 deletions
  1. 2 1
      Help/command/try_compile.rst
  2. 7 0
      Source/cmCoreTryCompile.cxx

+ 2 - 1
Help/command/try_compile.rst

@@ -127,7 +127,8 @@ default values:
 If :policy:`CMP0056` is set to ``NEW``, then
 :variable:`CMAKE_EXE_LINKER_FLAGS` is passed in as well.
 
-The current setting of :policy:`CMP0065` is set in the generated project.
+The current settings of :policy:`CMP0065` and :policy:`CMP0083` are set in the
+generated project.
 
 Set the :variable:`CMAKE_TRY_COMPILE_CONFIGURATION` variable to choose
 a build configuration.

+ 7 - 0
Source/cmCoreTryCompile.cxx

@@ -656,6 +656,13 @@ int cmCoreTryCompile::TryCompileCode(std::vector<std::string> const& argv,
               ? "NEW"
               : "OLD");
 
+    /* Set the appropriate policy information for PIE link flags */
+    fprintf(fout, "cmake_policy(SET CMP0083 %s)\n",
+            this->Makefile->GetPolicyStatus(cmPolicies::CMP0083) ==
+                cmPolicies::NEW
+              ? "NEW"
+              : "OLD");
+
     if (targetType == cmStateEnums::EXECUTABLE) {
       /* Put the executable at a known location (for COPY_FILE).  */
       fprintf(fout, "set(CMAKE_RUNTIME_OUTPUT_DIRECTORY \"%s\")\n",