Merge topic 'propagate-link-search-to-try_compile'

7f0b83e0 try_compile: Update documentation for other propagated variables
fb77c2c5 try_compile: Propogate the CMAKE_LINK_SEARCH_ variables
This commit is contained in:
Brad King 2015-08-17 10:25:04 -04:00 committed by CMake Topic Stage
commit a38ea312c0
5 changed files with 32 additions and 8 deletions

View File

@ -96,5 +96,16 @@ the try_compile call of interest, and then re-run cmake again with
Other Behavior Settings
^^^^^^^^^^^^^^^^^^^^^^^
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_LINK_SEARCH_START_STATIC`
* :variable:`CMAKE_LINK_SEARCH_END_STATIC`
* :variable:`CMAKE_POSITION_INDEPENDENT_CODE`
If :policy:`CMP0056` is set to ``NEW``, then
:variable:`CMAKE_EXE_LINKER_FLAGS` is passed in as well.
Set the :variable:`CMAKE_TRY_COMPILE_CONFIGURATION` variable to choose
a build configuration.

View File

@ -13,6 +13,7 @@ back to its starting type. This property switches the final linker
search type to -Bstatic regardless of how it started.
This variable is used to initialize the target property
LINK_SEARCH_END_STATIC for all targets.
:prop_tgt:`LINK_SEARCH_END_STATIC` for all targets. If set, it's
value is also used by the :command:`try_compile` command.
See also CMAKE_LINK_SEARCH_START_STATIC.
See also :variable:`CMAKE_LINK_SEARCH_START_STATIC`.

View File

@ -14,6 +14,7 @@ when linking an executable statically (e.g. with the GNU -static
option).
This variable is used to initialize the target property
LINK_SEARCH_START_STATIC for all targets.
:prop_tgt:`LINK_SEARCH_START_STATIC` for all targets. If set, it's
value is also used by the :command:`try_compile` command.
See also CMAKE_LINK_SEARCH_END_STATIC.
See also :variable:`CMAKE_LINK_SEARCH_END_STATIC`.

View File

@ -1,8 +1,9 @@
CMAKE_POSITION_INDEPENDENT_CODE
-------------------------------
Default value for POSITION_INDEPENDENT_CODE of targets.
Default value for :prop_tgt:`POSITION_INDEPENDENT_CODE` of targets.
This variable is used to initialize the POSITION_INDEPENDENT_CODE
property on all the targets. See that target property for additional
information.
This variable is used to initialize the
:prop_tgt:`POSITION_INDEPENDENT_CODE` property on all the targets.
See that target property for additional information. If set, it's
value is also used by the :command:`try_compile` command.

View File

@ -470,6 +470,16 @@ int cmCoreTryCompile::TryCompileCode(std::vector<std::string> const& argv)
{
fprintf(fout, "set(CMAKE_POSITION_INDEPENDENT_CODE \"ON\")\n");
}
if (const char *lssDef = this->Makefile->GetDefinition(
"CMAKE_LINK_SEARCH_START_STATIC"))
{
fprintf(fout, "set(CMAKE_LINK_SEARCH_START_STATIC \"%s\")\n", lssDef);
}
if (const char *lssDef = this->Makefile->GetDefinition(
"CMAKE_LINK_SEARCH_END_STATIC"))
{
fprintf(fout, "set(CMAKE_LINK_SEARCH_END_STATIC \"%s\")\n", lssDef);
}
/* Put the executable at a known location (for COPY_FILE). */
fprintf(fout, "set(CMAKE_RUNTIME_OUTPUT_DIRECTORY \"%s\")\n",