diff options
| author | manuel <manuel@mausz.at> | 2020-07-02 23:09:26 +0200 |
|---|---|---|
| committer | manuel <manuel@mausz.at> | 2020-07-02 23:09:26 +0200 |
| commit | 5f8335c1e49ce108ef3481863833c98efa00411b (patch) | |
| tree | f02b5c1c9765bb6a14c8eb42bb4f81b9face0b55 /cmake/scripts/darwin_embedded/ArchSetup.cmake | |
| parent | e317daf081a1048904fdf0b548946fa3ba6593a7 (diff) | |
| download | kodi-pvr-build-5f8335c1e49ce108ef3481863833c98efa00411b.tar.gz kodi-pvr-build-5f8335c1e49ce108ef3481863833c98efa00411b.tar.bz2 kodi-pvr-build-5f8335c1e49ce108ef3481863833c98efa00411b.zip | |
Diffstat (limited to 'cmake/scripts/darwin_embedded/ArchSetup.cmake')
| -rw-r--r-- | cmake/scripts/darwin_embedded/ArchSetup.cmake | 65 |
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 @@ | |||
| 1 | if(NOT CMAKE_TOOLCHAIN_FILE) | ||
| 2 | message(FATAL_ERROR "CMAKE_TOOLCHAIN_FILE required for ios/tvos. See ${CMAKE_SOURCE_DIR}/cmake/README.md") | ||
| 3 | endif() | ||
| 4 | |||
| 5 | set(CORE_MAIN_SOURCE ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/${CORE_PLATFORM_NAME_LC}/XBMCApplication.mm) | ||
| 6 | set(PLATFORM_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/${CORE_PLATFORM_NAME_LC}/Info.plist.in) | ||
| 7 | |||
| 8 | set(ARCH_DEFINES -DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_EMBEDDED) | ||
| 9 | if(CORE_PLATFORM_NAME_LC STREQUAL tvos) | ||
| 10 | list(APPEND ARCH_DEFINES -DTARGET_DARWIN_TVOS) | ||
| 11 | else() | ||
| 12 | list(APPEND ARCH_DEFINES -DTARGET_DARWIN_IOS) | ||
| 13 | endif() | ||
| 14 | set(SYSTEM_DEFINES -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE | ||
| 15 | -D__STDC_CONSTANT_MACROS -DHAS_IOS_NETWORK -DHAS_ZEROCONF) | ||
| 16 | set(PLATFORM_DIR platform/darwin) | ||
| 17 | set(PLATFORMDEFS_DIR platform/posix) | ||
| 18 | set(CMAKE_SYSTEM_NAME Darwin) | ||
| 19 | if(WITH_ARCH) | ||
| 20 | set(ARCH ${WITH_ARCH}) | ||
| 21 | else() | ||
| 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) | ||
| 29 | endif() | ||
| 30 | |||
| 31 | list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${NATIVEPREFIX}) | ||
| 32 | |||
| 33 | list(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 | |||
| 42 | set(ENABLE_OPTICAL OFF CACHE BOOL "" FORCE) | ||
| 43 | |||
| 44 | # AppleTV already has built-in AirPlay support | ||
| 45 | if(CORE_PLATFORM_NAME_LC STREQUAL tvos) | ||
| 46 | set(ENABLE_AIRTUNES OFF CACHE BOOL "" FORCE) | ||
| 47 | endif() | ||
| 48 | set(CMAKE_XCODE_ATTRIBUTE_INLINES_ARE_PRIVATE_EXTERN OFF) | ||
| 49 | set(CMAKE_XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN OFF) | ||
| 50 | set(CMAKE_XCODE_ATTRIBUTE_COPY_PHASE_STRIP OFF) | ||
| 51 | |||
| 52 | include(cmake/scripts/darwin/Macros.cmake) | ||
| 53 | enable_arc() | ||
| 54 | |||
| 55 | # Xcode strips dead code by default which breaks wrapping | ||
| 56 | set(CMAKE_XCODE_ATTRIBUTE_DEAD_CODE_STRIPPING OFF) | ||
| 57 | |||
| 58 | option(ENABLE_XCODE_ADDONBUILD "Enable Xcode automatic addon building?" OFF) | ||
| 59 | |||
| 60 | # Unify output directories for iOS/tvOS packaging scripts | ||
| 61 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CORE_BUILD_DIR}/${CORE_BUILD_CONFIG}) | ||
| 62 | foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) | ||
| 63 | string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG) | ||
| 64 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CORE_BUILD_DIR}/${CORE_BUILD_CONFIG}) | ||
| 65 | endforeach() | ||
