]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
cmake: Add -pie to CMAKE_EXE_LINKER_FLAGS
authorTim Serong <tserong@suse.com>
Wed, 17 Aug 2016 11:46:40 +0000 (21:46 +1000)
committerTim Serong <tserong@suse.com>
Wed, 17 Aug 2016 12:27:19 +0000 (22:27 +1000)
Without this, rpmlint (on openSUSE Tumbleweed) fails with:

ceph-radosgw.x86_64: E: non-position-independent-executable
(Badness: 10000) /usr/bin/radosgw
This executable must be position independent.  Check that it
is built with -fPIE/-fpie in compiler flags and -pie in linker
flags.

Signed-off-by: Tim Serong <tserong@suse.com>
src/CMakeLists.txt

index fc87c4f36d382d336792d1f86629ffe84b14d098..fb1d867604d5c6b2c2524715a27ea6317e6adf35 100644 (file)
@@ -25,6 +25,7 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wpointer-arith -Werror=format-security -fno
 if(CMAKE_CXX_COMPILER_ID STREQUAL GNU)
   add_definitions("-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64")
   set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -rdynamic")
+  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
 elseif(CMAKE_CXX_COMPILER_ID STREQUAL Clang)
   set(CMAKE_EXE_LINKER_FLAGS "-Wl,-export-dynamic")
   set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} -rdynamic -Wl,-export-dynamic -export-dynamic")