summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorMarc Chevrier <marc.chevrier@gmail.com>2018-12-13 15:14:59 (GMT)
committerCraig Scott <craig.scott@crascit.com>2018-12-19 08:41:27 (GMT)
commitf255280fd908e4ef1af5eba6230e81b74d339855 (patch)
tree2fcccac786e1b8e967c57e9e9230d30040177a2a /Tests
parent3bd814460161f3af682e116aa561efcc30793eff (diff)
downloadCMake-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.cmake2
-rw-r--r--Tests/RunCMake/PositionIndependentCode/CheckPIESupported.cmake10
-rw-r--r--Tests/RunCMake/PositionIndependentCode/PIE.cmake3
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)