comparison CMakeLists.txt @ 97:5eaf1b69acd5 Orthanc-0.2.1

hardening
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 28 Sep 2012 22:38:11 +0200
parents 0ec5e2e327b1
children 27dc762e3dc8
comparison
equal deleted inserted replaced
96:15f0886bf7fd 97:5eaf1b69acd5
6 include(CheckIncludeFiles) 6 include(CheckIncludeFiles)
7 7
8 SET(STATIC_BUILD ON CACHE BOOL "Static build of the third-party libraries (necessary for Windows)") 8 SET(STATIC_BUILD ON CACHE BOOL "Static build of the third-party libraries (necessary for Windows)")
9 SET(STANDALONE_BUILD OFF CACHE BOOL "Standalone build (necessary for cross-compilation or binary releases)") 9 SET(STANDALONE_BUILD OFF CACHE BOOL "Standalone build (necessary for cross-compilation or binary releases)")
10 SET(ENABLE_SSL ON CACHE BOOL "Include support for SSL") 10 SET(ENABLE_SSL ON CACHE BOOL "Include support for SSL")
11 SET(DEBIAN_HARDENING OFF CACHE BOOL "Use Debian hardening flags")
11 12
12 if (${CMAKE_CROSSCOMPILING}) 13 if (${CMAKE_CROSSCOMPILING})
13 SET(STANDALONE_BUILD ON) 14 SET(STANDALONE_BUILD ON)
14 endif() 15 endif()
15 16
74 link_libraries(netapi32) 75 link_libraries(netapi32)
75 endif() 76 endif()
76 77
77 78
78 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") 79 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
80 if (DEBIAN_HARDENING)
81 execute_process(
82 COMMAND dpkg-buildflags --get CPPFLAGS
83 OUTPUT_VARIABLE DEBIAN_CPP_FLAGS
84 OUTPUT_STRIP_TRAILING_WHITESPACE)
85 execute_process(
86 COMMAND dpkg-buildflags --get CFLAGS
87 OUTPUT_VARIABLE DEBIAN_C_FLAGS
88 OUTPUT_STRIP_TRAILING_WHITESPACE)
89 execute_process(
90 COMMAND dpkg-buildflags --get CXXFLAGS
91 OUTPUT_VARIABLE DEBIAN_CXX_FLAGS
92 OUTPUT_STRIP_TRAILING_WHITESPACE)
93 execute_process(
94 COMMAND dpkg-buildflags --get LDFLAGS
95 OUTPUT_VARIABLE DEBIAN_LD_FLAGS
96 OUTPUT_STRIP_TRAILING_WHITESPACE)
97
98 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${DEBIAN_C_FLAGS} ${DEBIAN_CPP_FLAGS}")
99 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DEBIAN_CXX_FLAGS} ${DEBIAN_CPP_FLAGS}")
100 endif()
101
79 add_definitions( 102 add_definitions(
80 -D_LARGEFILE64_SOURCE=1 103 -D_LARGEFILE64_SOURCE=1
81 -D_FILE_OFFSET_BITS=64 104 -D_FILE_OFFSET_BITS=64
82 ) 105 )
83 set(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed") 106 set(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed ${DEBIAN_LD_FLAGS}")
84 set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined") 107 set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined ${DEBIAN_LD_FLAGS}")
85 set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined") 108 set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${DEBIAN_LD_FLAGS}")
86 109
87 # http://www.mail-archive.com/cmake@cmake.org/msg08837.html 110 # http://www.mail-archive.com/cmake@cmake.org/msg08837.html
88 set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "") 111 set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
89 link_libraries(uuid pthread rt) 112 link_libraries(uuid pthread rt)
90 113