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 |