From 3ecc0c70e233dc3353cd1ff202b19cfb06b5b508 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 13 Oct 2021 15:15:59 +0200 Subject: [PATCH] cmake: Fix position independent code with LTO Fixes #7044 --- CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8f613f15..a0524248 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -169,6 +169,9 @@ elseif(KEEPASSXC_DIST_TYPE STREQUAL "Other") unset(KEEPASSXC_DIST) endif() +# Create position independent code for shared libraries and executables +set(CMAKE_POSITION_INDEPENDENT_CODE ON) + if("${CMAKE_SIZEOF_VOID_P}" EQUAL "4") set(IS_32BIT TRUE) endif() @@ -292,7 +295,6 @@ check_add_gcc_compiler_flag("-Wcast-align") if(UNIX AND NOT APPLE) check_add_gcc_compiler_flag("-Qunused-arguments") - check_add_gcc_compiler_flag("-fPIC") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-add-needed -Wl,--as-needed -Wl,--no-undefined") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,relro,-z,now -pie") set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-add-needed -Wl,--as-needed")