This simultaneously avoids silently overriding user preferences while making it harder to accidentally build without PIE support by requiring an explicit setting.
This introduces two behaviour changes:
- a user-defined
CMAKE_POSITION_INDEPENDENT_CODE=OFF
will now be respected by our build system, instead of silently overriding it like before - when not explicitly disabled, lack of PIE support will raise a
FATAL_ERROR
instead of aWARNING
, with a help instruction that this can be overridden with-DCMAKE_POSITION_INDEPENDENT_CODE=0
Removes a dependency on our custom configure_warnings
system.