CMakeLists.txt
changeset 5169 e353ca78d28b
parent 5168 8a074a255af0
child 5173 4056310a161a
equal deleted inserted replaced
5168:8a074a255af0 5169:e353ca78d28b
     1 project(hedgewars)
     1 project(hedgewars)
     2 
     2 
     3 cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
     3 cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
     4 cmake_policy(SET CMP0003 NEW)
     4 FOREACH(policy CMP0003 CMP0012)
     5 
     5 	IF(POLICY ${policy})
     6 IF(POLICY CMP0012)
     6 		CMAKE_POLICY(SET ${policy} NEW)
     7 	cmake_policy(SET CMP0012 NEW)
     7 	ENDIF()
     8 ENDIF()
     8 ENDFOREACH()
     9 
     9 
    10 #detect Mercurial revision (if present)
    10 #detect Mercurial revision (if present)
    11 set(version_suffix "-dev") #UNSET THIS VARIABLE AT RELEASE TIME
    11 set(version_suffix "-dev") #UNSET THIS VARIABLE AT RELEASE TIME
    12 set(HGCHANGED "")
    12 set(HGCHANGED "")
    13 IF(version_suffix MATCHES "-dev")
    13 IF(version_suffix MATCHES "-dev")
    51 if(APPLE)
    51 if(APPLE)
    52 	set(CMAKE_FIND_FRAMEWORK "FIRST")
    52 	set(CMAKE_FIND_FRAMEWORK "FIRST")
    53 
    53 
    54 	#paths for creating the bundle
    54 	#paths for creating the bundle
    55 	set(bundle_name Hedgewars.app)
    55 	set(bundle_name Hedgewars.app)
       
    56 	set(frameworks_dir ${bundle_name}/Contents/Frameworks/)
    56 	set(CMAKE_INSTALL_PREFIX ${bundle_name}/Contents/MacOS/)
    57 	set(CMAKE_INSTALL_PREFIX ${bundle_name}/Contents/MacOS/)
    57 	set(DATA_INSTALL_DIR "../Resources/")
    58 	set(DATA_INSTALL_DIR "../Resources/")
    58 	set(target_dir ".")
    59 	set(target_dir ".")
    59 
    60 
    60 	#what system are we building for
    61 	#what system are we building for
    61 	set(minimum_macosx $ENV{MACOSX_DEPLOYMENT_TARGET})
    62 	set(minimum_macosx $ENV{MACOSX_DEPLOYMENT_TARGET})
    62 
    63 
    63 	#detect on which system are we
    64 	#detect on which system are we
    64 	EXEC_PROGRAM("/usr/bin/sw_vers" OUTPUT_VARIABLE MACOSX_VERSION_TMP)
    65 	EXEC_PROGRAM("/usr/bin/sw_vers" ARGS "-productVersion" OUTPUT_VARIABLE current_macosx_version)
    65 	STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" MACOSX_VERSION_TMP "${MACOSX_VERSION_TMP}")
    66 	STRING(REGEX REPLACE "([0-9]+.[0-9]+).[0-9]+" "\\1" current_macosx_version ${current_macosx_version})
    66 	STRING(REGEX REPLACE "([0-9]+.[0-9]+).[0-9]+" "\\1" current_macosx_version ${MACOSX_VERSION_TMP})
       
    67 
    67 
    68 	#if nothing is set, we deploy only for the current system
    68 	#if nothing is set, we deploy only for the current system
    69 	if(NOT minimum_macosx)
    69 	if(NOT minimum_macosx)
    70 		set(minimum_macosx ${current_macosx_version})
    70 		set(minimum_macosx ${current_macosx_version})
    71 	endif()
    71 	endif()
    72 
    72 
    73 	if (minimum_macosx LESS "10.4")
    73 	if (minimum_macosx LESS "10.4")
    74 		set(FATAL "Hedgewars is not supported for pre-10.4 systems")
    74 		set(FATAL "Hedgewars is not supported for pre-10.4 systems")
    75 	endif()
    75 	endif()
    76 
    76 
       
    77 	#this variable needs to be set for frapascal universal binary
    77 	if(NOT CMAKE_OSX_ARCHITECTURES)
    78 	if(NOT CMAKE_OSX_ARCHITECTURES)
    78 		if(current_macosx_version MATCHES "10.6")
    79 		if(current_macosx_version MATCHES "10.6")
    79 			set(CMAKE_OSX_ARCHITECTURES "x86_64;i386")
    80 			set(CMAKE_OSX_ARCHITECTURES "x86_64;i386")
    80 		else()
    81 		else()
    81 			set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400")
    82 			set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400")