CMP0056ΒΆ
Honor link flags in try_compile()
source-file signature.
The try_compile()
command source-file signature generates a
CMakeLists.txt
file to build the source file into an executable.
In order to compile the source the same way as it might be compiled
by the calling project, the generated project sets the value of the
CMAKE_<LANG>_FLAGS
variable to that in the calling project.
The value of the CMAKE_EXE_LINKER_FLAGS
variable may be
needed in some cases too, but CMake 3.1 and lower did not set it in
the generated project. CMake 3.2 and above prefer to set it so that
linker flags are honored as well as compiler flags. This policy
provides compatibility with the pre-3.2 behavior.
The OLD
behavior for this policy is to not set the value of the
CMAKE_EXE_LINKER_FLAGS
variable in the generated test
project. The NEW
behavior for this policy is to set the value of
the CMAKE_EXE_LINKER_FLAGS
variable in the test project
to the same as it is in the calling project.
If the project code does not set the policy explicitly, users may
set it on the command line by defining the
CMAKE_POLICY_DEFAULT_CMP0056
variable in the cache.
This policy was introduced in CMake version 3.2. Unlike most policies,
CMake version 3.16.9 does not warn by default when this policy
is not set and simply uses OLD
behavior. See documentation of the
CMAKE_POLICY_WARNING_CMP0056
variable to control the warning.
Note
The OLD
behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.