CMakeLists.txt
changeset 2609 b67624c7d61e
parent 2606 ed687a8d081f
child 2629 be70fd3458c0
equal deleted inserted replaced
2608:cebfea02f8b5 2609:b67624c7d61e
    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(build_type "standard")
    15 
    16 
    16 if(APPLE)
    17 if(APPLE)
    17 	set(CMAKE_FIND_FRAMEWORK "FIRST")
    18 	set(CMAKE_FIND_FRAMEWORK "FIRST")
    18 	set(universal_build true)
    19 	
    19 
       
    20 	#paths for creating the bundle
    20 	#paths for creating the bundle
    21 	set(bundle_name Hedgewars.app)
    21 	set(bundle_name Hedgewars.app)
    22 	set(CMAKE_INSTALL_PREFIX ${bundle_name}/Contents/MacOS/) 
    22 	set(CMAKE_INSTALL_PREFIX ${bundle_name}/Contents/MacOS/) 
    23 	set(DATA_INSTALL_DIR "../Resources/")
    23 	set(DATA_INSTALL_DIR "../Resources/")
    24 	set(target_dir ".")
    24 	set(target_dir ".")
    25 	
    25 	
    26 	#build architecture / os version
    26 	#build architecture / os version
    27 	set(MacVersion $ENV{MACOSX_DEPLOYMENT_TARGET})
    27 	set(minimum_os $ENV{MACOSX_DEPLOYMENT_TARGET})
    28 	if(MacVersion MATCHES "10.4")
    28 	if(minimum_os MATCHES "10.4")
    29 		message(STATUS "Target: Mac OS X 10.4 i386/ppc")	
    29 		message(STATUS "Target: Mac OS X 10.4 i386")	
    30 		set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.4u.sdk/")
    30 		set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.4u.sdk/")
    31 		set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400")		
    31 		set(CMAKE_OSX_ARCHITECTURES "i386")
       
    32 		set(build_type "standard")
    32 	endif()
    33 	endif()
    33 	if(MacVersion MATCHES "10.5")
    34 	if(minimum_os MATCHES "10.5")
    34 		message(STATUS "Target: Mac OS X 10.5 i386/ppc")
    35 		message(STATUS "Target: Mac OS X 10.5 i386/ppc")
    35 		set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.5.sdk/")
    36 		set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.5.sdk/")
    36 		set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400")		
    37 		set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400")
       
    38 		set(build_type "universal")
    37 	endif()
    39 	endif()
    38 	if(MacVersion MATCHES "10.6")
    40 	if(minimum_os MATCHES "10.6")
    39 		message(STATUS "Target: Mac OS X 10.6 i386/ppc/x86_64")	
    41 		message(STATUS "Target: Mac OS X 10.6 i386/ppc/x86_64")
    40 		set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.6.sdk/")	
    42 		set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.6.sdk/")
    41 		set(CMAKE_OSX_ARCHITECTURES "i386;x86_64;ppc7400")
    43 		set(CMAKE_OSX_ARCHITECTURES "x86_64;i386;ppc7400")
       
    44 		set(build_type "universal64")
    42 	endif()
    45 	endif()
    43 	#else use the default sysroot with default archs
    46 	if(NOT minimum_os)
       
    47 	#use the default sysroot with default archs	
       
    48 		EXEC_PROGRAM(sw_vers OUTPUT_VARIABLE MACOSX_VERSION)
       
    49 		string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" MACOSX_VERSION "${MACOSX_VERSION}")
       
    50 		STRING(REGEX REPLACE "[0-9][0-9].([0-9]+).[0-9]" "\\1" MACOSX_VERSION ${MACOSX_VERSION})
       
    51 		set(minimum_os "10.${MACOSX_VERSION}")
       
    52 	endif()
    44 else(APPLE)
    53 else(APPLE)
    45 	set(target_dir "bin")
    54 	set(target_dir "bin")
    46 endif(APPLE)
    55 endif(APPLE)
    47 
    56 
    48 
    57 
    75 	set(pascal_compiler_flags_cmn "-O2" "-Xs" "-Nu" "-Si" ${pascal_compiler_flags_cmn})
    84 	set(pascal_compiler_flags_cmn "-O2" "-Xs" "-Nu" "-Si" ${pascal_compiler_flags_cmn})
    76 	set(haskell_compiler_flags_cmn "-w" "-O2")
    85 	set(haskell_compiler_flags_cmn "-w" "-O2")
    77 	if(APPLE AND NOT universal_build)
    86 	if(APPLE AND NOT universal_build)
    78 		set(CMAKE_C_FLAGS_RELEASE "-fPIC -msse2 ${CMAKE_C_FLAGS_RELEASE}")
    87 		set(CMAKE_C_FLAGS_RELEASE "-fPIC -msse2 ${CMAKE_C_FLAGS_RELEASE}")
    79 		set(CMAKE_CXX_FLAGS_RELEASE "-fPIC -msse2 ${CMAKE_CXX_FLAGS_RELEASE}")
    88 		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
    89 		set(pascal_compiler_flags_cmn "-fPIC" ${pascal_compiler_flags_cmn})
       
    90 		#-Cf7400 for ppc, -CfSSE2 for x86 (but none for x86_64)
    81 	endif()
    91 	endif()
    82 else(Optz)
    92 else(Optz)
    83 	set(pascal_compiler_flags_cmn "-O-" "-gl" "-dDEBUGFILE" "-pg" "-vv" ${pascal_compiler_flags_cmn})
    93 	set(pascal_compiler_flags_cmn "-O-" "-gl" "-dDEBUGFILE" "-pg" "-vv" ${pascal_compiler_flags_cmn})
    84 	set(haskell_compiler_flags_cmn "-Wall" "-debug" "-dcore-lint")
    94 	set(haskell_compiler_flags_cmn "-Wall" "-debug" "-dcore-lint")
    85 endif(Optz)
    95 endif(Optz)