CMP0137ΒΆ
New in version 3.24.
try_compile()
passes platform variables in project mode.
The try_compile()
command source file signature propagates CMake variables containing platform settings,
and those specified by the CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
variable, into the generated test project. This helps the test project drive
the toolchain the same way the calling project will. In CMake 3.23 and below,
the whole-project signature does not
propagate platform variables automatically. CMake 3.24 and above prefer to
propagate platform variables in the whole-project signature. This policy provides compatibility with projects that
have not been updated to expect the behavior.
The OLD
behavior for this policy is to not pass any additional variables to
the whole-project signature.
The NEW
behavior for this policy is to pass the same variables that the
source file signature does.
Regardless of the policy setting, the
CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES
variable may be set
to suppress passing the platform variables through either signature.
This policy was introduced in CMake version 3.24. Use the
cmake_policy()
command to set this policy to OLD
or NEW
explicitly. Unlike many policies, CMake version 3.25.3 does not warn
by default when this policy is not set and simply uses OLD
behavior.
Note
The OLD
behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.