CMakeLists.txt
branchwebgl
changeset 8018 091293bc974f
parent 7999 bb503cd46516
parent 7994 706218709157
child 8044 796f2653f21d
equal deleted inserted replaced
8008:2ed42786aca7 8018:091293bc974f
    10 ENDFOREACH()
    10 ENDFOREACH()
    11 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules)
    11 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules)
    12 
    12 
    13 
    13 
    14 #detect Mercurial revision (if present)
    14 #detect Mercurial revision (if present)
    15 set(version_suffix "") #UNSET THIS VARIABLE AT RELEASE TIME
    15 set(version_suffix "-dev") #UNSET THIS VARIABLE AT RELEASE TIME
    16 set(HGCHANGED "")
    16 set(HGCHANGED "")
    17 IF(version_suffix MATCHES "-dev")
    17 IF(version_suffix MATCHES "-dev")
    18     set(HW_DEV true)
    18     set(HW_DEV true)
    19     set(default_build_type "DEBUG")
    19     set(default_build_type "DEBUG")
    20     IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.hg)
    20     IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.hg)
    41 
    41 
    42 
    42 
    43 #versioning
    43 #versioning
    44 set(CPACK_PACKAGE_VERSION_MAJOR 0)
    44 set(CPACK_PACKAGE_VERSION_MAJOR 0)
    45 set(CPACK_PACKAGE_VERSION_MINOR 9)
    45 set(CPACK_PACKAGE_VERSION_MINOR 9)
    46 set(CPACK_PACKAGE_VERSION_PATCH 18${version_suffix})
    46 set(CPACK_PACKAGE_VERSION_PATCH 19${version_suffix})
    47 set(HEDGEWARS_PROTO_VER 43)
    47 set(HEDGEWARS_PROTO_VER 44)
    48 set(HEDGEWARS_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
    48 set(HEDGEWARS_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
    49 
    49 
    50 
    50 
    51 #set some default values
    51 #set some default values
    52 option(NOSERVER "Disable gameServer build [default: auto]" OFF)
    52 option(NOSERVER "Disable gameServer build [default: auto]" OFF)
    58 option(LIBENGINE "Enable hwengine library [default: off]" OFF)
    58 option(LIBENGINE "Enable hwengine library [default: off]" OFF)
    59 
    59 
    60 option(NOPASCAL "Compile hwengine as native C [default: off]" ${WEBGL})
    60 option(NOPASCAL "Compile hwengine as native C [default: off]" ${WEBGL})
    61 option(NOAUTOUPDATE "Disable OS X Sparkle update checking" OFF)
    61 option(NOAUTOUPDATE "Disable OS X Sparkle update checking" OFF)
    62 option(CROSSAPPLE "Enable OSX when not on OSX [default: off]" OFF)
    62 option(CROSSAPPLE "Enable OSX when not on OSX [default: off]" OFF)
    63 
    63 option(MINIMAL_FLAGS "Respect system flags as much as possible [default: off]" OFF)
    64 
    64 
    65 #bundle .app setup
    65 #bundle .app setup
    66 if(APPLE OR CROSSAPPLE)
    66 if(APPLE OR CROSSAPPLE)
    67     #paths for creating the bundle
    67     #paths for creating the bundle
    68     set(bundle_name Hedgewars.app)
    68     set(bundle_name Hedgewars.app)
   158     endif ()
   158     endif ()
   159 else (CMAKE_BUILD_TYPE)
   159 else (CMAKE_BUILD_TYPE)
   160     set (CMAKE_BUILD_TYPE ${default_build_type} CACHE STRING "Choose the build type, options are: Debug Release." FORCE)
   160     set (CMAKE_BUILD_TYPE ${default_build_type} CACHE STRING "Choose the build type, options are: Debug Release." FORCE)
   161 endif (CMAKE_BUILD_TYPE)
   161 endif (CMAKE_BUILD_TYPE)
   162 
   162 
   163 
   163 #set default flags values for all projects (unless MINIMAL_FLAGS is true)
   164 #set default flags values for all projects
   164 if(NOT MINIMAL_FLAGS)
   165 set(CMAKE_C_FLAGS "-pipe ${CMAKE_C_FLAGS}")
   165     set(CMAKE_C_FLAGS "-pipe")
   166 set(CMAKE_C_FLAGS_RELEASE "-w -Os -fomit-frame-pointer ${CMAKE_C_FLAGS_RELEASE}")
   166     set(CMAKE_C_FLAGS_RELEASE "-w -Os -fomit-frame-pointer")
   167 set(CMAKE_C_FLAGS_DEBUG "-Wall -O0 -g -DDEBUG ${CMAKE_C_FLAGS_DEBUG}")
   167     set(CMAKE_C_FLAGS_DEBUG "-Wall -O0 -g -DDEBUG")
   168 set(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS})
   168     set(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS})
   169 set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
   169     set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
   170 set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
   170     set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
       
   171 else()
       
   172     #CMake adds a lot of additional configuration flags, so let's clear them up
       
   173     set(CMAKE_C_FLAGS_RELEASE "")
       
   174     set(CMAKE_C_FLAGS_DEBUG "-Wall -DDEBUG")
       
   175     set(CMAKE_CXX_FLAGS_RELEASE "")
       
   176     set(CMAKE_CXX_FLAGS_DEBUG "-Wall -DDEBUG")
       
   177 endif()
   171 
   178 
   172 #parse additional parameters
   179 #parse additional parameters
   173 if(FPFLAGS OR GHFLAGS)
   180 if(FPFLAGS OR GHFLAGS)
   174     math(EXPR cmake_version "${CMAKE_MAJOR_VERSION}*10000 + ${CMAKE_MINOR_VERSION}*100 + ${CMAKE_PATCH_VERSION}")
   181     math(EXPR cmake_version "${CMAKE_MAJOR_VERSION}*10000 + ${CMAKE_MINOR_VERSION}*100 + ${CMAKE_PATCH_VERSION}")
   175     if(cmake_version LESS "020800")
   182     if(cmake_version LESS "020800")