cmake_modules/compilerchecks.cmake
changeset 9155 480f483de544
parent 9154 a43406054648
child 9156 6bf5359d5d14
equal deleted inserted replaced
9154:a43406054648 9155:480f483de544
     1 
     1 
     2 #TESTING TIME
     2 #TESTING TIME
     3 include(CheckCCompilerFlag)
     3 include(CheckCCompilerFlag)
     4 #when you need to check for a linker flag, just leave the argument of "check_c_compiler_flag" empty
     4 #when you need to check for a linker flag, just leave the argument of "check_c_compiler_flag" empty
       
     5 
       
     6 
       
     7 #stack protection
       
     8 check_c_compiler_flag("-fstack-protector" HAVE_STACKPROTECTOR)
       
     9 if(HAVE_STACKPROTECTOR)
       
    10     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstack-protector")
       
    11 endif()
       
    12 
       
    13 #symbol visibility
       
    14 check_c_compiler_flag("-fvisibility=hidden" HAVE_VISIBILITYH)
       
    15 if(HAVE_VISIBILITYH)
       
    16     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
       
    17 endif()
     5 
    18 
     6 
    19 
     7 #check for noexecstack on ELF, Gentoo security
    20 #check for noexecstack on ELF, Gentoo security
     8 set(CMAKE_REQUIRED_FLAGS "-Wl,-z,noexecstack")
    21 set(CMAKE_REQUIRED_FLAGS "-Wl,-z,noexecstack")
     9 check_c_compiler_flag("" HAVE_NOEXECSTACK)
    22 check_c_compiler_flag("" HAVE_NOEXECSTACK)