summaryrefslogtreecommitdiffstats
path: root/cmake/scripts/darwin_embedded/ArchSetup.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/scripts/darwin_embedded/ArchSetup.cmake')
-rw-r--r--cmake/scripts/darwin_embedded/ArchSetup.cmake65
1 files changed, 65 insertions, 0 deletions
diff --git a/cmake/scripts/darwin_embedded/ArchSetup.cmake b/cmake/scripts/darwin_embedded/ArchSetup.cmake
new file mode 100644
index 0000000..7160da9
--- /dev/null
+++ b/cmake/scripts/darwin_embedded/ArchSetup.cmake
@@ -0,0 +1,65 @@
1if(NOT CMAKE_TOOLCHAIN_FILE)
2 message(FATAL_ERROR "CMAKE_TOOLCHAIN_FILE required for ios/tvos. See ${CMAKE_SOURCE_DIR}/cmake/README.md")
3endif()
4
5set(CORE_MAIN_SOURCE ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/${CORE_PLATFORM_NAME_LC}/XBMCApplication.mm)
6set(PLATFORM_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/${CORE_PLATFORM_NAME_LC}/Info.plist.in)
7
8set(ARCH_DEFINES -DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_EMBEDDED)
9if(CORE_PLATFORM_NAME_LC STREQUAL tvos)
10 list(APPEND ARCH_DEFINES -DTARGET_DARWIN_TVOS)
11else()
12 list(APPEND ARCH_DEFINES -DTARGET_DARWIN_IOS)
13endif()
14set(SYSTEM_DEFINES -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
15 -D__STDC_CONSTANT_MACROS -DHAS_IOS_NETWORK -DHAS_ZEROCONF)
16set(PLATFORM_DIR platform/darwin)
17set(PLATFORMDEFS_DIR platform/posix)
18set(CMAKE_SYSTEM_NAME Darwin)
19if(WITH_ARCH)
20 set(ARCH ${WITH_ARCH})
21else()
22 if(CPU STREQUAL arm64)
23 set(ARCH aarch64)
24 else()
25 message(SEND_ERROR "Unknown CPU: ${CPU}")
26 endif()
27 set(CMAKE_OSX_ARCHITECTURES ${CPU})
28 set(NEON True)
29endif()
30
31list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${NATIVEPREFIX})
32
33list(APPEND DEPLIBS "-framework CoreFoundation" "-framework CoreVideo"
34 "-framework CoreAudio" "-framework AudioToolbox"
35 "-framework QuartzCore" "-framework MediaPlayer"
36 "-framework CFNetwork" "-framework CoreGraphics"
37 "-framework Foundation" "-framework UIKit"
38 "-framework CoreMedia" "-framework AVFoundation"
39 "-framework VideoToolbox" "-lresolv" "-ObjC"
40 "-framework AVKit" "-framework GameController")
41
42set(ENABLE_OPTICAL OFF CACHE BOOL "" FORCE)
43
44# AppleTV already has built-in AirPlay support
45if(CORE_PLATFORM_NAME_LC STREQUAL tvos)
46 set(ENABLE_AIRTUNES OFF CACHE BOOL "" FORCE)
47endif()
48set(CMAKE_XCODE_ATTRIBUTE_INLINES_ARE_PRIVATE_EXTERN OFF)
49set(CMAKE_XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN OFF)
50set(CMAKE_XCODE_ATTRIBUTE_COPY_PHASE_STRIP OFF)
51
52include(cmake/scripts/darwin/Macros.cmake)
53enable_arc()
54
55# Xcode strips dead code by default which breaks wrapping
56set(CMAKE_XCODE_ATTRIBUTE_DEAD_CODE_STRIPPING OFF)
57
58option(ENABLE_XCODE_ADDONBUILD "Enable Xcode automatic addon building?" OFF)
59
60# Unify output directories for iOS/tvOS packaging scripts
61set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CORE_BUILD_DIR}/${CORE_BUILD_CONFIG})
62foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
63 string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
64 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CORE_BUILD_DIR}/${CORE_BUILD_CONFIG})
65endforeach()