CMake 2.8.8 and lower compiled sources in
MODULE libraries using the value of the undocumented
CMAKE_SHARED_LIBRARY_<Lang>_FLAGS platform variable. The variable contained platform-specific flags needed to compile objects for shared libraries. Typically it included a flag such as
-fPIC for position independent code but also included other flags needed on certain platforms. CMake 2.8.9 and higher prefer instead to use the
POSITION_INDEPENDENT_CODE target property to determine what targets should be position independent, and new undocumented platform variables to select flags while ignoring
The default for either approach produces identical compilation flags, but if a project modifies
CMAKE_SHARED_LIBRARY_<Lang>_FLAGS from its original value this policy determines which approach to use.
OLD behavior for this policy is to ignore the
POSITION_INDEPENDENT_CODE property for all targets and use the modified value of
NEW behavior for this policy is to ignore
CMAKE_SHARED_LIBRARY_<Lang>_FLAGS whether it is modified or not and honor the
POSITION_INDEPENDENT_CODE target property.
This policy was introduced in CMake version 2.8.9. CMake version 3.19.0-rc3 warns when the policy is not set and uses
OLD behavior. Use the
cmake_policy() command to set it to
OLD behavior of a policy is
deprecated by definition and may be removed in a future version of CMake.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.