From ef2c8d66f10117fccddc35a923ac06ce197b124c Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Tue, 21 Jul 2009 11:14:54 +0200 Subject: Add compile flags and test for compiler options only if we use gcc. --- cmake/Modules/DefineCompilerFlags.cmake | 83 ++++++++++++++++----------------- 1 file changed, 41 insertions(+), 42 deletions(-) (limited to 'cmake/Modules') diff --git a/cmake/Modules/DefineCompilerFlags.cmake b/cmake/Modules/DefineCompilerFlags.cmake index 6168b4e4..90bfbaf3 100644 --- a/cmake/Modules/DefineCompilerFlags.cmake +++ b/cmake/Modules/DefineCompilerFlags.cmake @@ -3,49 +3,48 @@ include(CheckCCompilerFlag) if (UNIX AND NOT WIN32) - # with -fPIC - check_c_compiler_flag("-fPIC" WITH_FPIC) - if (WITH_FPIC) - add_definitions(-fPIC) - endif (WITH_FPIC) - - if (CMAKE_SIZEOF_VOID_P MATCHES "8") - # with large file support - execute_process( - COMMAND - getconf LFS64_CFLAGS - OUTPUT_VARIABLE - _lfs_CFLAGS - ERROR_QUIET - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - else (CMAKE_SIZEOF_VOID_P MATCHES "8") - # with large file support - execute_process( - COMMAND - getconf LFS_CFLAGS - OUTPUT_VARIABLE - _lfs_CFLAGS - ERROR_QUIET - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - string(REGEX REPLACE "[\r\n]" " " "${_lfs_CFLAGS}" "${${_lfs_CFLAGS}}") - - add_definitions(${_lfs_CFLAGS}) - endif (CMAKE_SIZEOF_VOID_P MATCHES "8") - if (CMAKE_COMPILER_IS_GNUCC) add_definitions(-Wall -Wextra -Wmissing-prototypes -Wdeclaration-after-statement -Wunused) - endif (CMAKE_COMPILER_IS_GNUCC) - - check_c_compiler_flag("-fstack-protector" WITH_STACK_PROTECTOR) - if (WITH_STACK_PROTECTOR) - add_definitions(-fstack-protector) - endif (WITH_STACK_PROTECTOR) - - check_c_compiler_flag("-D_FORTIFY_SOURCE=2" WITH_FORTIFY_SOURCE) - if (WITH_FORTIFY_SOURCE) - add_definitions(-D_FORTIFY_SOURCE=2) - endif (WITH_FORTIFY_SOURCE) + # with -fPIC + check_c_compiler_flag("-fPIC" WITH_FPIC) + if (WITH_FPIC) + add_definitions(-fPIC) + endif (WITH_FPIC) + + if (CMAKE_SIZEOF_VOID_P MATCHES "8") + # with large file support + execute_process( + COMMAND + getconf LFS64_CFLAGS + OUTPUT_VARIABLE + _lfs_CFLAGS + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + else (CMAKE_SIZEOF_VOID_P MATCHES "8") + # with large file support + execute_process( + COMMAND + getconf LFS_CFLAGS + OUTPUT_VARIABLE + _lfs_CFLAGS + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + string(REGEX REPLACE "[\r\n]" " " "${_lfs_CFLAGS}" "${${_lfs_CFLAGS}}") + + add_definitions(${_lfs_CFLAGS}) + endif (CMAKE_SIZEOF_VOID_P MATCHES "8") + + check_c_compiler_flag("-fstack-protector" WITH_STACK_PROTECTOR) + if (WITH_STACK_PROTECTOR) + add_definitions(-fstack-protector) + endif (WITH_STACK_PROTECTOR) + + check_c_compiler_flag("-D_FORTIFY_SOURCE=2" WITH_FORTIFY_SOURCE) + if (WITH_FORTIFY_SOURCE) + add_definitions(-D_FORTIFY_SOURCE=2) + endif (WITH_FORTIFY_SOURCE) + endif (CMAKE_COMPILER_IS_GNUCC) endif (UNIX AND NOT WIN32) -- cgit v1.2.3