CMakeLists.txt
changeset 2822 0533562bc3a4
parent 2812 0a24853de796
child 2827 45817d8386c7
equal deleted inserted replaced
2821:67815ee123d7 2822:0533562bc3a4
    47 	EXEC_PROGRAM("/usr/bin/sw_vers" OUTPUT_VARIABLE MACOSX_VERSION_TMP)
    47 	EXEC_PROGRAM("/usr/bin/sw_vers" OUTPUT_VARIABLE MACOSX_VERSION_TMP)
    48 	STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" MACOSX_VERSION_TMP "${MACOSX_VERSION_TMP}")
    48 	STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" MACOSX_VERSION_TMP "${MACOSX_VERSION_TMP}")
    49 	STRING(REGEX REPLACE "([0-9][0-9].[0-9]+).[0-9]" "\\1" current_macosx_version ${MACOSX_VERSION_TMP})
    49 	STRING(REGEX REPLACE "([0-9][0-9].[0-9]+).[0-9]" "\\1" current_macosx_version ${MACOSX_VERSION_TMP})
    50 
    50 
    51 	if(NOT minimum_macosx)
    51 	if(NOT minimum_macosx)
    52 		#if nothing is set, we build only for the current system
    52 		#if nothing is set, we deploy only for the current system
    53 		set(minimum_macosx ${current_macosx_version})
    53 		set(minimum_macosx ${current_macosx_version})
       
    54 	endif()
       
    55 
       
    56 	if(current_macosx_version MATCHES "10.6")
       
    57 		set(CMAKE_OSX_ARCHITECTURES "x86_64")
    54 	endif()
    58 	endif()
    55 
    59 
    56 	#create universal binaries only when it's time to bundle the application, also build server
    60 	#create universal binaries only when it's time to bundle the application, also build server
    57 	IF(BUNDLE)
    61 	IF(BUNDLE)
    58 		set(WITH_SERVER false)
    62 		set(WITH_SERVER false)
    59 		if(current_macosx_version MATCHES "10.6")
    63 		if(minimum_macosx NOT MATCHES "10.6")
    60 			if(minimum_macosx MATCHES "10.6")
       
    61 				#prevent building ppc for 10.6
       
    62 				set(CMAKE_OSX_ARCHITECTURES "x86_64;i386")
       
    63 			else()
       
    64 				set(CMAKE_OSX_ARCHITECTURES "x86_64;i386;ppc7400")
       
    65 			endif()
       
    66 		else()
       
    67 			set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400")
    64 			set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400")
    68 		endif()
    65 		endif()
    69 	ENDIF()	
    66 	ENDIF()	
    70 
    67 
    71 	message(STATUS "Target system: Mac OS X ${minimum_macosx} ${CMAKE_OSX_ARCHITECTURES}")	
    68 	message(STATUS "Target system: Mac OS X ${minimum_macosx} ${CMAKE_OSX_ARCHITECTURES}")	
    74 		set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.4u.sdk/")
    71 		set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.4u.sdk/")
    75 	else()
    72 	else()
    76 		set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX${minimum_macosx}.sdk/")
    73 		set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX${minimum_macosx}.sdk/")
    77 	endif()
    74 	endif()
    78 
    75 
    79 	set(pascal_compiler_flags_cmn "-k${CMAKE_BINARY_DIR}/bin/libSDLmain.a" "-k-macosx_version_min" "-k${minimum_macosx}" "-XR${CMAKE_OSX_SYSROOT}" ${pascal_compiler_flags_cmn})
    76 	#1.set deployment target; 2.link with libsdlmain.a; 3.link with liblua.a (which requires readline)
       
    77 	set(pascal_compiler_flags_cmn "-k-macosx_version_min" "-k${minimum_macosx}" "-XR${CMAKE_OSX_SYSROOT}" ${pascal_compiler_flags_cmn})
       
    78 	set(pascal_compiler_flags_cmn "-k${CMAKE_BINARY_DIR}/bin/libSDLmain.a" ${pascal_compiler_flags_cmn})
       
    79 	set(pascal_compiler_flags_cmn "-k${CMAKE_BINARY_DIR}/bin/liblua.a" "-k-lreadline" ${pascal_compiler_flags_cmn})
    80 else(APPLE)
    80 else(APPLE)
    81 	set(target_dir "bin")
    81 	set(target_dir "bin")
    82 endif(APPLE)
    82 endif(APPLE)
    83 
    83 
    84 
    84