CMakeLists.txt
branchcmake_pascal
changeset 8781 1b22d13afbc7
parent 8775 3cad01db0bae
child 8784 c11727e5fa3f
equal deleted inserted replaced
8778:04363016580f 8781:1b22d13afbc7
    28 
    28 
    29 option(BUILD_ENGINE_LIBRARY "Enable hwengine library (off)" OFF)
    29 option(BUILD_ENGINE_LIBRARY "Enable hwengine library (off)" OFF)
    30 option(ANDROID "Enable Android build (off)" OFF)
    30 option(ANDROID "Enable Android build (off)" OFF)
    31 
    31 
    32 if(UNIX AND NOT APPLE)
    32 if(UNIX AND NOT APPLE)
    33     option(MINIMAL_FLAGS "Respect system flags as much as possible (off)" OFF)
    33     option(MINIMAL_CFLAGS "Respect system CFLAGS as much as possible (off)" OFF)
    34 else()
    34 else()
    35     option(NOAUTOUPDATE "Disable OS X Sparkle update checking" OFF)
    35     option(NOAUTOUPDATE "Disable OS X Sparkle update checking" OFF)
    36 endif()
    36 endif()
    37 
    37 
    38 set(FPFLAGS "" CACHE STRING "Additional Freepascal flags")
    38 set(FPFLAGS "" CACHE STRING "Additional Freepascal flags")
   205 else (CMAKE_BUILD_TYPE)
   205 else (CMAKE_BUILD_TYPE)
   206     set (CMAKE_BUILD_TYPE ${default_build_type} CACHE STRING "Build type (Debug/Release)" FORCE)
   206     set (CMAKE_BUILD_TYPE ${default_build_type} CACHE STRING "Build type (Debug/Release)" FORCE)
   207 endif (CMAKE_BUILD_TYPE)
   207 endif (CMAKE_BUILD_TYPE)
   208 
   208 
   209 
   209 
   210 #set default flags values for all projects (unless MINIMAL_FLAGS is true)
   210 #set default flags values for all projects (unless MINIMAL_CFLAGS is true)
   211 if(NOT ${MINIMAL_FLAGS})
   211 if(NOT ${MINIMAL_CFLAGS})
   212     set(CMAKE_C_FLAGS "-pipe ${CMAKE_C_FLAGS}")
   212     set(CMAKE_C_FLAGS "-pipe ${CMAKE_C_FLAGS}")
   213     set(CMAKE_C_FLAGS_RELEASE "-w -Os -fomit-frame-pointer ${CMAKE_C_FLAGS_RELEASE}")
   213     set(CMAKE_C_FLAGS_RELEASE "-w -Os -fomit-frame-pointer ${CMAKE_C_FLAGS_RELEASE}")
   214     set(CMAKE_C_FLAGS_DEBUG "-Wall -O0 -g -DDEBUG ${CMAKE_C_FLAGS_DEBUG}")
   214     set(CMAKE_C_FLAGS_DEBUG "-Wall -O0 -g -DDEBUG ${CMAKE_C_FLAGS_DEBUG}")
   215     set(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS})
   215     set(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS})
   216     set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
   216     set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
   227 include(CheckCCompilerFlag)
   227 include(CheckCCompilerFlag)
   228 set(CMAKE_REQUIRED_FLAGS "-Wl,-z -Wl,noexecstack")
   228 set(CMAKE_REQUIRED_FLAGS "-Wl,-z -Wl,noexecstack")
   229 check_c_compiler_flag("" HAVE_NOEXECSTACK) #empty because we are testing a linker flag
   229 check_c_compiler_flag("" HAVE_NOEXECSTACK) #empty because we are testing a linker flag
   230 if(HAVE_NOEXECSTACK)
   230 if(HAVE_NOEXECSTACK)
   231     add_flag_append(CMAKE_Pascal_FLAGS "-k-z -knoexecstack")
   231     add_flag_append(CMAKE_Pascal_FLAGS "-k-z -knoexecstack")
   232     if(NOT ${MINIMAL_FLAGS})
   232     if(NOT ${MINIMAL_CFLAGS})
   233         set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_REQUIRED_FLAGS}")
   233         set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_REQUIRED_FLAGS}")
   234     endif()
   234     endif()
   235 endif()
   235 endif()
   236 unset(CMAKE_REQUIRED_FLAGS)
   236 unset(CMAKE_REQUIRED_FLAGS)
   237 
   237