diff options
author | h.udo <hudokkow@gmail.com> | 2016-09-08 18:15:54 +0100 |
---|---|---|
committer | h.udo <hudokkow@gmail.com> | 2016-12-21 10:04:18 +0000 |
commit | a18701e7b2fe03780f90502d5d51e09cdc3ad718 (patch) | |
tree | a9d2c2cca8599a18a78c6b1345f42e48e76ddb27 /cmake/scripts/ios | |
parent | f2b31fda391d3364b7307ab9f9216fa0ee7164c7 (diff) |
[cmake] Move to root folder: Move files
Diffstat (limited to 'cmake/scripts/ios')
-rw-r--r-- | cmake/scripts/ios/ArchSetup.cmake | 57 | ||||
-rw-r--r-- | cmake/scripts/ios/Install.cmake | 85 | ||||
l--------- | cmake/scripts/ios/Macros.cmake | 1 | ||||
l--------- | cmake/scripts/ios/PathSetup.cmake | 1 |
4 files changed, 144 insertions, 0 deletions
diff --git a/cmake/scripts/ios/ArchSetup.cmake b/cmake/scripts/ios/ArchSetup.cmake new file mode 100644 index 0000000000..f3e8590d4f --- /dev/null +++ b/cmake/scripts/ios/ArchSetup.cmake @@ -0,0 +1,57 @@ +if(NOT CMAKE_TOOLCHAIN_FILE) + message(FATAL_ERROR "CMAKE_TOOLCHAIN_FILE required for ios. See ${PROJECT_SOURCE_DIR}/README.md") +endif() + +set(CORE_MAIN_SOURCE ${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/XBMCApplication.m) + +set(ARCH_DEFINES -D_LINUX -DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_IOS) +set(SYSTEM_DEFINES -D_REENTRANT -D_FILE_DEFINED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE + -D__STDC_CONSTANT_MACROS) +set(PLATFORM_DIR linux) +set(CMAKE_SYSTEM_NAME Darwin) +if(WITH_ARCH) + set(ARCH ${WITH_ARCH}) +else() + if(CPU STREQUAL armv7 OR CPU STREQUAL arm64) + set(CMAKE_OSX_ARCHITECTURES ${CPU}) + set(ARCH arm-osx) + set(NEON False) + else() + message(SEND_ERROR "Unknown CPU: ${CPU}") + endif() +endif() + +find_package(CXX11 REQUIRED) + +list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${NATIVEPREFIX}) + +list(APPEND DEPLIBS "-framework CoreFoundation" "-framework CoreVideo" + "-framework CoreAudio" "-framework AudioToolbox" + "-framework QuartzCore" "-framework MediaPlayer" + "-framework CFNetwork" "-framework CoreGraphics" + "-framework Foundation" "-framework UIKit" + "-framework CoreMedia" "-framework AVFoundation" + "-framework VideoToolbox") + +set(ENABLE_DVDCSS OFF CACHE BOOL "" FORCE) +set(ENABLE_OPTICAL OFF CACHE BOOL "" FORCE) + +set(CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET "5.1") +set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2") + +set(CMAKE_XCODE_ATTRIBUTE_INLINES_ARE_PRIVATE_EXTERN OFF) +set(CMAKE_XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN OFF) +set(CMAKE_XCODE_ATTRIBUTE_COPY_PHASE_STRIP OFF) + +# Xcode strips dead code by default which breaks wrapping +set(CMAKE_XCODE_ATTRIBUTE_DEAD_CODE_STRIPPING OFF) + +# Unify output directories for iOS packaging scripts +if(NOT CMAKE_GENERATOR MATCHES Xcode) + set(CORE_BUILD_CONFIG "${CORE_BUILD_CONFIG}-iphoneos") +endif() +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CORE_BUILD_DIR}/${CORE_BUILD_CONFIG}) +foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) + string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CORE_BUILD_DIR}/${CORE_BUILD_CONFIG}) +endforeach() diff --git a/cmake/scripts/ios/Install.cmake b/cmake/scripts/ios/Install.cmake new file mode 100644 index 0000000000..c49fcd581b --- /dev/null +++ b/cmake/scripts/ios/Install.cmake @@ -0,0 +1,85 @@ +# IOS packaging + +set(BUNDLE_RESOURCES ${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-568h@2x.png + ${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-667h@2x.png + ${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-736h@3x.png + ${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-Landscape-736h@3x.png + ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon29x29.png + ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon29x29@2x.png + ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon40x40.png + ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon40x40@2x.png + ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon50x50.png + ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon50x50@2x.png + ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon57x57.png + ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon57x57@2x.png + ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon60x60.png + ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon60x60@2x.png + ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon72x72.png + ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon72x72@2x.png + ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon76x76.png + ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon76x76@2x.png) + +if(CMAKE_GENERATOR STREQUAL Xcode) + set(RESOURCE_LOCATION ${APP_NAME}.app) +else() + set(RESOURCE_LOCATION ".") +endif() + +target_sources(${APP_NAME_LC} PRIVATE ${BUNDLE_RESOURCES}) +foreach(file IN LISTS BUNDLE_RESOURCES) + set_source_files_properties(${file} PROPERTIES MACOSX_PACKAGE_LOCATION ${RESOURCE_LOCATION}) +endforeach() + +target_sources(${APP_NAME_LC} PRIVATE ${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/English.lproj/InfoPlist.strings) +set_source_files_properties(${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/English.lproj/InfoPlist.strings PROPERTIES MACOSX_PACKAGE_LOCATION "${RESOURCE_LOCATION}/English.lproj") + +# Options for code signing propagated as env vars to Codesign.command via Xcode +set(IOS_CODE_SIGN_IDENTITY "" CACHE STRING "Code Sign Identity") +if(IOS_CODE_SIGN_IDENTITY) + set_target_properties(${APP_NAME_LC} PROPERTIES XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED TRUE + XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY ${IOS_CODE_SIGN_IDENTITY}) +endif() + +add_custom_command(TARGET ${APP_NAME_LC} POST_BUILD + # TODO: Remove in sync with CopyRootFiles-ios expecting the ".bin" file + COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${APP_NAME_LC}> + $<TARGET_FILE_DIR:${APP_NAME_LC}>/${APP_NAME}.bin + + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/DllPaths_generated.h + ${CMAKE_BINARY_DIR}/xbmc/DllPaths_generated.h + COMMAND "ACTION=build" + "TARGET_BUILD_DIR=$<TARGET_FILE_DIR:${APP_NAME_LC}>/.." + "TARGET_NAME=${APP_NAME}.app" + "APP_NAME=${APP_NAME}" + "PRODUCT_NAME=${APP_NAME}" + "WRAPPER_EXTENSION=app" + "SRCROOT=${CMAKE_BINARY_DIR}" + ${CORE_SOURCE_DIR}/tools/darwin/Support/CopyRootFiles-ios.command + COMMAND "XBMC_DEPENDS=${DEPENDS_PATH}" + "TARGET_BUILD_DIR=$<TARGET_FILE_DIR:${APP_NAME_LC}>/.." + "TARGET_NAME=${APP_NAME}.app" + "APP_NAME=${APP_NAME}" + "PRODUCT_NAME=${APP_NAME}" + "FULL_PRODUCT_NAME=${APP_NAME}.app" + "WRAPPER_EXTENSION=app" + "SRCROOT=${CMAKE_BINARY_DIR}" + ${CORE_SOURCE_DIR}/tools/darwin/Support/copyframeworks-ios.command + COMMAND "XBMC_DEPENDS_ROOT=${NATIVEPREFIX}/.." + "PLATFORM_NAME=${PLATFORM}" + "CODESIGNING_FOLDER_PATH=$<TARGET_FILE_DIR:${APP_NAME_LC}>" + "BUILT_PRODUCTS_DIR=$<TARGET_FILE_DIR:${APP_NAME_LC}>/.." + "WRAPPER_NAME=${APP_NAME}.app" + "APP_NAME=${APP_NAME}" + ${CORE_SOURCE_DIR}/tools/darwin/Support/Codesign.command +) + +set(DEPENDS_ROOT_FOR_XCODE ${NATIVEPREFIX}/..) +configure_file(${CORE_SOURCE_DIR}/tools/darwin/packaging/ios/mkdeb-ios.sh.in + ${CMAKE_BINARY_DIR}/tools/darwin/packaging/ios/mkdeb-ios.sh @ONLY) +configure_file(${CORE_SOURCE_DIR}/tools/darwin/packaging/migrate_to_kodi_ios.sh.in + ${CMAKE_BINARY_DIR}/tools/darwin/packaging/migrate_to_kodi_ios.sh @ONLY) + +add_custom_target(deb + COMMAND sh ./mkdeb-ios.sh ${CORE_BUILD_CONFIG} + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/tools/darwin/packaging/ios) +add_dependencies(deb ${APP_NAME_LC}) diff --git a/cmake/scripts/ios/Macros.cmake b/cmake/scripts/ios/Macros.cmake new file mode 120000 index 0000000000..54c1b280e0 --- /dev/null +++ b/cmake/scripts/ios/Macros.cmake @@ -0,0 +1 @@ +../osx/Macros.cmake
\ No newline at end of file diff --git a/cmake/scripts/ios/PathSetup.cmake b/cmake/scripts/ios/PathSetup.cmake new file mode 120000 index 0000000000..d7f25b2cad --- /dev/null +++ b/cmake/scripts/ios/PathSetup.cmake @@ -0,0 +1 @@ +../osx/PathSetup.cmake
\ No newline at end of file |