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=OFFwill 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_ERRORinstead 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.