summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/PositionIndependentCode/PIE.cmake
blob: 16ed89ce6b79b0584649d13a7a887850641588d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

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)

add_executable (pie_off main.cpp)
set_property(TARGET pie_off PROPERTY POSITION_INDEPENDENT_CODE OFF)


# generate file holding paths to executables
file (GENERATE OUTPUT "${CMAKE_BINARY_DIR}/$<CONFIG>/PIE_config.cmake"
               CONTENT
[==[
include ("${RunCMake_TEST_SOURCE_DIR}/PIE_validator.cmake")

set (pie_on "$<TARGET_FILE:pie_on>")
set (pie_off "$<TARGET_FILE:pie_off>")
]==])