summaryrefslogtreecommitdiffstats
path: root/modules/TDEMacros.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'modules/TDEMacros.cmake')
-rw-r--r--modules/TDEMacros.cmake13
1 files changed, 13 insertions, 0 deletions
diff --git a/modules/TDEMacros.cmake b/modules/TDEMacros.cmake
index 4f5f59e..c271c98 100644
--- a/modules/TDEMacros.cmake
+++ b/modules/TDEMacros.cmake
@@ -13,6 +13,7 @@
#################################################
include( KDE3Macros ) # we will need this module for a while
+include( CheckCXXCompilerFlag )
#################################################
@@ -1023,6 +1024,12 @@ macro( tde_add_executable _arg_target )
add_dependencies( ${_target} ${_dependencies} )
endif( _dependencies )
+ # set PIE flags for setuid binaries
+ if( _setuid )
+ set_target_properties( ${_target} PROPERTIES COMPILE_FLAGS ${TDE_PIE_CFLAGS} )
+ set_target_properties( ${_target} PROPERTIES LINK_FLAGS ${TDE_PIE_LDFLAGS} )
+ endif( _setuid )
+
# set destination directory
if( _destination )
if( _setuid )
@@ -1537,4 +1544,10 @@ macro( tde_setup_architecture_flags )
else( )
set( LINKER_IMMEDIATE_BINDING_FLAGS "" CACHE INTERNAL "" FORCE )
endif( )
+
+ check_cxx_compiler_flag( -fPIE HAVE_PIE_SUPPORT )
+ if( HAVE_PIE_SUPPORT )
+ set( TDE_PIE_CFLAGS -fPIE )
+ set( TDE_PIE_LDFLAGS -pie )
+ endif( HAVE_PIE_SUPPORT )
endmacro( )