diff options
author | Marc Chevrier <marc.chevrier@gmail.com> | 2018-12-13 15:14:59 (GMT) |
---|---|---|
committer | Craig Scott <craig.scott@crascit.com> | 2018-12-19 08:41:27 (GMT) |
commit | f255280fd908e4ef1af5eba6230e81b74d339855 (patch) | |
tree | 2fcccac786e1b8e967c57e9e9230d30040177a2a /Tests | |
parent | 3bd814460161f3af682e116aa561efcc30793eff (diff) | |
download | CMake-f255280fd908e4ef1af5eba6230e81b74d339855.zip CMake-f255280fd908e4ef1af5eba6230e81b74d339855.tar.gz CMake-f255280fd908e4ef1af5eba6230e81b74d339855.tar.bz2 |
PIE link options: Update strategy to fix performance regression
Fixes: #18700
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/RunCMake/PositionIndependentCode/CMP0083.cmake | 2 | ||||
-rw-r--r-- | Tests/RunCMake/PositionIndependentCode/CheckPIESupported.cmake | 10 | ||||
-rw-r--r-- | Tests/RunCMake/PositionIndependentCode/PIE.cmake | 3 |
3 files changed, 13 insertions, 2 deletions
diff --git a/Tests/RunCMake/PositionIndependentCode/CMP0083.cmake b/Tests/RunCMake/PositionIndependentCode/CMP0083.cmake index 9713ea4..749ac79 100644 --- a/Tests/RunCMake/PositionIndependentCode/CMP0083.cmake +++ b/Tests/RunCMake/PositionIndependentCode/CMP0083.cmake @@ -6,6 +6,8 @@ add_executable (cmp0083_ref main.cpp) set (CMAKE_POSITION_INDEPENDENT_CODE ON) cmake_policy(SET CMP0083 NEW) +include(CheckPIESupported) +check_pie_supported() add_executable (cmp0083_new_pie main.cpp) diff --git a/Tests/RunCMake/PositionIndependentCode/CheckPIESupported.cmake b/Tests/RunCMake/PositionIndependentCode/CheckPIESupported.cmake index 1e0a2c9..61e1b6d 100644 --- a/Tests/RunCMake/PositionIndependentCode/CheckPIESupported.cmake +++ b/Tests/RunCMake/PositionIndependentCode/CheckPIESupported.cmake @@ -1,11 +1,17 @@ -if (CMAKE_CXX_LINK_OPTIONS_PIE) +cmake_policy(SET CMP0083 NEW) + +include (CheckPIESupported) + +check_pie_supported() + +if (CMAKE_CXX_LINK_PIE_SUPPORTED) file(WRITE "${PIE_SUPPORTED}" "\nset(PIE_SUPPORTED TRUE)\n") else() file(WRITE "${PIE_SUPPORTED}" "\nset(PIE_SUPPORTED FALSE)\n") endif() -if (CMAKE_CXX_LINK_OPTIONS_NO_PIE) +if (CMAKE_CXX_LINK_NO_PIE_SUPPORTED) file(APPEND "${PIE_SUPPORTED}" "\nset(NO_PIE_SUPPORTED TRUE)\n") else() file(APPEND "${PIE_SUPPORTED}" "\nset(NO_PIE_SUPPORTED FALSE)\n") diff --git a/Tests/RunCMake/PositionIndependentCode/PIE.cmake b/Tests/RunCMake/PositionIndependentCode/PIE.cmake index a9d579d..16ed89c 100644 --- a/Tests/RunCMake/PositionIndependentCode/PIE.cmake +++ b/Tests/RunCMake/PositionIndependentCode/PIE.cmake @@ -1,6 +1,9 @@ cmake_policy(SET CMP0083 NEW) +include(CheckPIESupported) +check_pie_supported() + add_executable (pie_on main.cpp) set_property(TARGET pie_on PROPERTY POSITION_INDEPENDENT_CODE ON) |