|
1 | 1 | # SPDX-License-Identifier: BSD-3-Clause |
2 | | -# Copyright (c) 2022, Intel Corporation |
| 2 | +# Copyright (c) 2022-2025, Intel Corporation |
3 | 3 |
|
4 | 4 | include(FindOpenSSL) |
5 | 5 |
|
@@ -60,6 +60,7 @@ if(UNIX) # LINUX, FREE_BSD, APPLE |
60 | 60 | $<$<CONFIG:RelWithDebInfo>:PCM_SILENT> |
61 | 61 | ) |
62 | 62 |
|
| 63 | + set_target_properties(PCM_STATIC PROPERTIES POSITION_INDEPENDENT_CODE ON) |
63 | 64 | set_target_properties(PCM_STATIC_SILENT PROPERTIES POSITION_INDEPENDENT_CODE ON) |
64 | 65 |
|
65 | 66 | # libpcm.so |
@@ -192,6 +193,10 @@ if(PCM_BUILD_EXECUTABLES) |
192 | 193 | target_compile_options(${PROJECT_NAME} PRIVATE "${PCM_MSVC_RUNTIME_LIBRARY_OPTIONS}") |
193 | 194 | endif(MSVC) |
194 | 195 |
|
| 196 | + if(UNIX) |
| 197 | + target_link_options(${PROJECT_NAME} PRIVATE "-fPIE") |
| 198 | + endif(UNIX) |
| 199 | + |
195 | 200 | if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") |
196 | 201 | set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "${PCM_STATIC_ASAN}") |
197 | 202 | endif() |
@@ -253,12 +258,14 @@ if(UNIX) # APPLE, LINUX, FREE_BSD |
253 | 258 | # Daemon & client |
254 | 259 | file(GLOB DAEMON_SOURCES "daemon/*.cpp") |
255 | 260 | add_executable(daemon ${DAEMON_SOURCES}) |
| 261 | + target_link_options(daemon PRIVATE "-fPIE") |
256 | 262 | target_link_libraries(daemon PRIVATE PCM_STATIC Threads::Threads) |
257 | 263 | set_target_properties(daemon PROPERTIES OUTPUT_NAME "pcm-daemon") |
258 | 264 | install(TARGETS daemon DESTINATION ${CMAKE_INSTALL_SBINDIR}) |
259 | 265 |
|
260 | 266 | file(GLOB CLIENT_SOURCES "client/*.cpp") |
261 | 267 | add_executable(client ${CLIENT_SOURCES}) |
| 268 | + target_link_options(client PRIVATE "-fPIE") |
262 | 269 | target_link_libraries(client PRIVATE Threads::Threads) |
263 | 270 | set_target_properties(client PROPERTIES OUTPUT_NAME "pcm-client") |
264 | 271 | install(TARGETS client DESTINATION ${CMAKE_INSTALL_BINDIR}) |
|
0 commit comments