54 lines
1.2 KiB
CMake
54 lines
1.2 KiB
CMake
message(WARNING "MacOS configuration is not tested and may not work.")
|
|
|
|
set(ARCH "universal" CACHE STRING "Target architecture (universal, arm64, x86_64, CUSTOM)")
|
|
|
|
set(MACOS_DEPLOYMENT_TARGET "DEFAULT" CACHE STRING "")
|
|
|
|
if (${ARCH} STREQUAL "universal")
|
|
set(DEFAULT_BITS 64)
|
|
else()
|
|
string(REGEX MATCH "32$|64$" DEFAULT_BITS "${ARCH}")
|
|
endif()
|
|
set(BITS "${DEFAULT_BITS}" CACHE STRING "Architecture bits. Needs to be set manually for custom architecture")
|
|
|
|
|
|
list(APPEND GODOT_DEFINITIONS
|
|
MACOS_ENABLED
|
|
UNIX_ENABLED
|
|
)
|
|
|
|
list(APPEND GODOT_CC_FLAGS
|
|
$<$<STREQUAL:${ARCH},universal>:
|
|
"SHELL:-arch x86_64"
|
|
"SHELL:-arch arm64"
|
|
>
|
|
$<$<NOT:$<STREQUAL:${ARCH},universal>>:
|
|
"SHELL:-arch ${ARCH}"
|
|
>
|
|
|
|
$<$<NOT:$<STREQUAL:${MACOS_DEPLOYMENT_TARGET},DEFAULT>>:
|
|
-mmacosx-version-min=${MACOS_DEPLOYMENT_TARGET}
|
|
>
|
|
)
|
|
|
|
list(APPEND GODOT_LINK_FLAGS
|
|
-framework
|
|
Cocoa
|
|
-Wl,-undefined,dynamic_lookup
|
|
|
|
$<$<STREQUAL:${ARCH},universal>:
|
|
"SHELL:-arch x86_64"
|
|
"SHELL:-arch arm64"
|
|
>
|
|
$<$<NOT:$<STREQUAL:${ARCH},universal>>:
|
|
"SHELL:-arch ${ARCH}"
|
|
>
|
|
|
|
$<$<NOT:$<STREQUAL:${MACOS_DEPLOYMENT_TARGET},DEFAULT>>:
|
|
-mmacosx-version-min=${MACOS_DEPLOYMENT_TARGET}
|
|
>
|
|
)
|
|
|
|
string(APPEND LIBRARY_SUFFIX ".${ARCH}")
|
|
|