try_compile: Propogate CMP0065 to the generated project.
Set policy CMP0065 to the value used in the calling project. Set the the value of CMAKE_ENABLE_EXPORTS if set in the calling project to initialize the target property appropriately.
This commit is contained in:
parent
9784af1b50
commit
b15f4e9b86
|
@ -100,6 +100,7 @@ If set, the following variables are passed in to the generated
|
|||
try_compile CMakeLists.txt to initialize compile target properties with
|
||||
default values:
|
||||
|
||||
* :variable:`CMAKE_ENABLE_EXPORTS`
|
||||
* :variable:`CMAKE_LINK_SEARCH_START_STATIC`
|
||||
* :variable:`CMAKE_LINK_SEARCH_END_STATIC`
|
||||
* :variable:`CMAKE_POSITION_INDEPENDENT_CODE`
|
||||
|
@ -107,5 +108,7 @@ 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.
|
||||
|
||||
Set the :variable:`CMAKE_TRY_COMPILE_CONFIGURATION` variable to choose
|
||||
a build configuration.
|
||||
|
|
|
@ -481,6 +481,16 @@ int cmCoreTryCompile::TryCompileCode(std::vector<std::string> const& argv)
|
|||
fprintf(fout, "set(CMAKE_LINK_SEARCH_END_STATIC \"%s\")\n", lssDef);
|
||||
}
|
||||
|
||||
/* Set the appropriate policy information for ENABLE_EXPORTS */
|
||||
fprintf(fout, "cmake_policy(SET CMP0065 %s)\n",
|
||||
this->Makefile->GetPolicyStatus(cmPolicies::CMP0065) ==
|
||||
cmPolicies::NEW ? "NEW" : "OLD");
|
||||
if(const char *ee = this->Makefile->GetDefinition(
|
||||
"CMAKE_ENABLE_EXPORTS"))
|
||||
{
|
||||
fprintf(fout, "set(CMAKE_ENABLE_EXPORTS %s)\n", ee);
|
||||
}
|
||||
|
||||
/* Put the executable at a known location (for COPY_FILE). */
|
||||
fprintf(fout, "set(CMAKE_RUNTIME_OUTPUT_DIRECTORY \"%s\")\n",
|
||||
this->BinaryDirectory.c_str());
|
||||
|
|
Loading…
Reference in New Issue