diff --git a/CMakeLists.txt b/CMakeLists.txt index 321b60b..76ded82 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 3.1.0) project(deepin-anything) +set(CMAKE_POSITION_INDEPENDENT_CODE ON) + # Install settings if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) set(CMAKE_INSTALL_PREFIX /usr) diff --git a/src/daemon/CMakeLists.txt b/src/daemon/CMakeLists.txt index ed37590..5a5e200 100755 --- a/src/daemon/CMakeLists.txt +++ b/src/daemon/CMakeLists.txt @@ -122,6 +122,8 @@ target_link_libraries(${PROJECT_NAME} PUBLIC target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Werror -Wextra) target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_17) +target_link_options(${PROJECT_NAME} PRIVATE -pie) + configure_file ("${PROJECT_NAME}.pc.in" "${PROJECT_NAME}.pc" @ONLY) install(TARGETS ${PROJECT_NAME} DESTINATION libexec) install(FILES deepin-anything-daemon.service DESTINATION lib/systemd/user) diff --git a/src/logger/CMakeLists.txt b/src/logger/CMakeLists.txt index 1c8af92..1912440 100644 --- a/src/logger/CMakeLists.txt +++ b/src/logger/CMakeLists.txt @@ -34,6 +34,8 @@ target_link_libraries(deepin-anything-logger PRIVATE ${GNL_LIBRARIES} ) +target_link_options(deepin-anything-logger PRIVATE -pie) + install(TARGETS deepin-anything-logger DESTINATION libexec) # Install dconfig meta file diff --git a/src/searcher/CMakeLists.txt b/src/searcher/CMakeLists.txt index 2473032..3ccc69b 100644 --- a/src/searcher/CMakeLists.txt +++ b/src/searcher/CMakeLists.txt @@ -42,6 +42,8 @@ target_link_libraries(deepin-anything-searcher stdc++fs ) +target_link_options(deepin-anything-searcher PRIVATE -pie) + # Install install(TARGETS deepin-anything-searcher RUNTIME DESTINATION bin diff --git a/src/server/CMakeLists.txt b/src/server/CMakeLists.txt index 466c7c4..3f20819 100644 --- a/src/server/CMakeLists.txt +++ b/src/server/CMakeLists.txt @@ -24,6 +24,8 @@ target_link_libraries(${PROJECT_NAME} PRIVATE ${MOUNT_LIBRARIES} ) +target_link_options(${PROJECT_NAME} PRIVATE -pie) + install(TARGETS ${PROJECT_NAME} DESTINATION libexec) # installed by debhelper # install(FILES deepin-anything-server.service DESTINATION lib/systemd/system)