CMakeLists.txt
changeset 2606 ed687a8d081f
parent 2573 a7db29d7e2d0
child 2609 b67624c7d61e
equal deleted inserted replaced
2605:a40a7c90ffd8 2606:ed687a8d081f
    10 
    10 
    11 set(CPACK_PACKAGE_VERSION_MAJOR "0")
    11 set(CPACK_PACKAGE_VERSION_MAJOR "0")
    12 set(CPACK_PACKAGE_VERSION_MINOR "9")
    12 set(CPACK_PACKAGE_VERSION_MINOR "9")
    13 set(CPACK_PACKAGE_VERSION_PATCH "13-dev")
    13 set(CPACK_PACKAGE_VERSION_PATCH "13-dev")
    14 
    14 
    15 set(universal_build false)
       
    16 
    15 
    17 if(APPLE)
    16 if(APPLE)
    18 set(bundle_name Hedgewars.app)
    17 	set(CMAKE_FIND_FRAMEWORK "FIRST")
    19 set(CMAKE_INSTALL_PREFIX ${bundle_name}/Contents/MacOS/) 
    18 	set(universal_build true)
    20 set(DATA_INSTALL_DIR "../Resources/")
       
    21 set(target_dir ".")
       
    22 
    19 
    23 if(UNIVERSAL)
    20 	#paths for creating the bundle
    24 	set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400")
    21 	set(bundle_name Hedgewars.app)
    25 	set(universal_build true)
    22 	set(CMAKE_INSTALL_PREFIX ${bundle_name}/Contents/MacOS/) 
    26 	message(STATUS "Building a Universal Application")
    23 	set(DATA_INSTALL_DIR "../Resources/")
    27 else(UNIVERSAL)
    24 	set(target_dir ".")
    28 	if(UNIVERSAL64)
    25 	
    29 		set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400;x86_64")
    26 	#build architecture / os version
    30 		set(universal_build true)
    27 	set(MacVersion $ENV{MACOSX_DEPLOYMENT_TARGET})
    31 		message(STATUS "Building a Universal 64 bits Application")
    28 	if(MacVersion MATCHES "10.4")
    32 	endif(UNIVERSAL64)
    29 		message(STATUS "Target: Mac OS X 10.4 i386/ppc")	
    33 endif(UNIVERSAL)
    30 		set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.4u.sdk/")
    34 
    31 		set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400")		
       
    32 	endif()
       
    33 	if(MacVersion MATCHES "10.5")
       
    34 		message(STATUS "Target: Mac OS X 10.5 i386/ppc")
       
    35 		set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.5.sdk/")
       
    36 		set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400")		
       
    37 	endif()
       
    38 	if(MacVersion MATCHES "10.6")
       
    39 		message(STATUS "Target: Mac OS X 10.6 i386/ppc/x86_64")	
       
    40 		set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.6.sdk/")	
       
    41 		set(CMAKE_OSX_ARCHITECTURES "i386;x86_64;ppc7400")
       
    42 	endif()
       
    43 	#else use the default sysroot with default archs
    35 else(APPLE)
    44 else(APPLE)
    36 set(target_dir "bin")
    45 	set(target_dir "bin")
    37 endif(APPLE)
    46 endif(APPLE)
    38 
    47 
    39 
    48 
    40 if(NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE MATCHES "Release")
    49 #this snippet sets "Release" mode by default
    41 	set(CMAKE_BUILD_TYPE "Release")
    50 if (NOT CMAKE_BUILD_TYPE)
    42 	set(OPTIMIZATIONS true)
    51 	set (CMAKE_BUILD_TYPE RELEASE CACHE STRING "Choose the type of build, options are: None Debug Release." FORCE)
    43 	message(STATUS "Building Release")
    52 endif (NOT CMAKE_BUILD_TYPE)
       
    53 
       
    54 if(CMAKE_BUILD_TYPE MATCHES RELEASE OR CMAKE_BUILD_TYPE MATCHES "Release")
       
    55 	message(STATUS "Building Release")	
       
    56 	set(Optz true)
    44 else()
    57 else()
    45 	set(CMAKE_BUILD_TYPE "Debug")
    58 	message(STATUS "Building Debug")	
    46 	set(OPTIMIZATIONS false)
       
    47 	set(CMAKE_VERBOSE_MAKEFILE true)
    59 	set(CMAKE_VERBOSE_MAKEFILE true)
    48 	message(STATUS "Building Debug")	
    60 	set(Optz false)
    49 endif()
    61 endif()
       
    62 
       
    63 
       
    64 #set default flags values for all the project
       
    65 set(CMAKE_C_FLAGS "-Wall -pipe")
       
    66 set(CMAKE_C_FLAGS_RELEASE "-w -O2 -fomit-frame-pointer")
       
    67 set(CMAKE_C_FLAGS_DEBUG "-O0 -g -DDEBUG")
       
    68 set(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS})
       
    69 set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
       
    70 set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
       
    71 
       
    72 set(pascal_compiler_flags_cmn "-B" "-FE../bin" "-Fl../bin/" "-Cs2000000" "-vwi")
       
    73 
       
    74 if(Optz)
       
    75 	set(pascal_compiler_flags_cmn "-O2" "-Xs" "-Nu" "-Si" ${pascal_compiler_flags_cmn})
       
    76 	set(haskell_compiler_flags_cmn "-w" "-O2")
       
    77 	if(APPLE AND NOT universal_build)
       
    78 		set(CMAKE_C_FLAGS_RELEASE "-fPIC -msse2 ${CMAKE_C_FLAGS_RELEASE}")
       
    79 		set(CMAKE_CXX_FLAGS_RELEASE "-fPIC -msse2 ${CMAKE_CXX_FLAGS_RELEASE}")
       
    80 		set(pascal_compiler_flags_cmn "-fPIC" "-CfSSE2" ${pascal_compiler_flags_cmn}) #-CF7400 for ppc
       
    81 	endif()
       
    82 else(Optz)
       
    83 	set(pascal_compiler_flags_cmn "-O-" "-gl" "-dDEBUGFILE" "-pg" "-vv" ${pascal_compiler_flags_cmn})
       
    84 	set(haskell_compiler_flags_cmn "-Wall" "-debug" "-dcore-lint")
       
    85 endif(Optz)
    50 
    86 
    51 
    87 
    52 if(DEFINED DATA_INSTALL_DIR)
    88 if(DEFINED DATA_INSTALL_DIR)
    53 	set(SHAREPATH ${DATA_INSTALL_DIR}/hedgewars/)
    89 	set(SHAREPATH ${DATA_INSTALL_DIR}/hedgewars/)
    54 else(DEFINED DATA_INSTALL_DIR)
    90 else(DEFINED DATA_INSTALL_DIR)
    63 	set(HAVE_NETSERVER true)
    99 	set(HAVE_NETSERVER true)
    64 	add_subdirectory(gameServer)
   100 	add_subdirectory(gameServer)
    65 else(WITH_SERVER)
   101 else(WITH_SERVER)
    66 	set(HAVE_NETSERVER false)
   102 	set(HAVE_NETSERVER false)
    67 endif(WITH_SERVER)
   103 endif(WITH_SERVER)
    68 
       
    69 #set default flags values for all the project
       
    70 set(CMAKE_C_FLAGS "-Wall -pipe")
       
    71 set(CMAKE_C_FLAGS_RELEASE "-w -O2 -fomit-frame-pointer")
       
    72 set(CMAKE_C_FLAGS_DEBUG "-O0 -g -DDEBUG")
       
    73 if(APPLE AND NOT universal_build)
       
    74 	set(CMAKE_C_FLAGS_RELEASE "-msse2 ${CMAKE_C_FLAGS_RELEASE}")
       
    75 endif()
       
    76 set(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS})
       
    77 set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
       
    78 set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
       
    79 
   104 
    80 
   105 
    81 add_subdirectory(bin)
   106 add_subdirectory(bin)
    82 #add_subdirectory(openalbridge)
   107 #add_subdirectory(openalbridge)
    83 add_subdirectory(QTfrontend)
   108 add_subdirectory(QTfrontend)