From a662ba767a6444b76b0394eb60380eee3e839db7 Mon Sep 17 00:00:00 2001 From: manuel Date: Wed, 14 Dec 2016 02:24:46 +0100 Subject: Sync with Krypton branch --- project/cmake/scripts/ios/ArchSetup.cmake | 21 ------- project/cmake/scripts/ios/Install.cmake | 93 ++++++++++++++----------------- 2 files changed, 41 insertions(+), 73 deletions(-) (limited to 'project/cmake/scripts/ios') diff --git a/project/cmake/scripts/ios/ArchSetup.cmake b/project/cmake/scripts/ios/ArchSetup.cmake index f3e8590..56661e2 100644 --- a/project/cmake/scripts/ios/ArchSetup.cmake +++ b/project/cmake/scripts/ios/ArchSetup.cmake @@ -13,7 +13,6 @@ 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() @@ -35,23 +34,3 @@ list(APPEND DEPLIBS "-framework CoreFoundation" "-framework CoreVideo" 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/project/cmake/scripts/ios/Install.cmake b/project/cmake/scripts/ios/Install.cmake index c49fcd5..052565f 100644 --- a/project/cmake/scripts/ios/Install.cmake +++ b/project/cmake/scripts/ios/Install.cmake @@ -1,54 +1,42 @@ # 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) +set(PACKAGE_OUTPUT_DIR ${CMAKE_BINARY_DIR}/build/${CORE_BUILD_CONFIG}-iphoneos) -if(CMAKE_GENERATOR STREQUAL Xcode) - set(RESOURCE_LOCATION ${APP_NAME}.app) -else() - set(RESOURCE_LOCATION ".") -endif() +file(MAKE_DIRECTORY ${PACKAGE_OUTPUT_DIR}/${APP_NAME}.app) +set(BUNDLE_RESOURCES xbmc/platform/darwin/ios/Default-568h@2x.png + xbmc/platform/darwin/ios/Default-667h@2x.png + xbmc/platform/darwin/ios/Default-736h@3x.png + xbmc/platform/darwin/ios/Default-Landscape-736h@3x.png + tools/darwin/packaging/media/ios/rounded/AppIcon29x29.png + tools/darwin/packaging/media/ios/rounded/AppIcon29x29@2x.png + tools/darwin/packaging/media/ios/rounded/AppIcon40x40.png + tools/darwin/packaging/media/ios/rounded/AppIcon40x40@2x.png + tools/darwin/packaging/media/ios/rounded/AppIcon50x50.png + tools/darwin/packaging/media/ios/rounded/AppIcon50x50@2x.png + tools/darwin/packaging/media/ios/rounded/AppIcon57x57.png + tools/darwin/packaging/media/ios/rounded/AppIcon57x57@2x.png + tools/darwin/packaging/media/ios/rounded/AppIcon60x60.png + tools/darwin/packaging/media/ios/rounded/AppIcon60x60@2x.png + tools/darwin/packaging/media/ios/rounded/AppIcon72x72.png + tools/darwin/packaging/media/ios/rounded/AppIcon72x72@2x.png + tools/darwin/packaging/media/ios/rounded/AppIcon76x76.png + tools/darwin/packaging/media/ios/rounded/AppIcon76x76@2x.png) -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}) +foreach(resource IN LISTS BUNDLE_RESOURCES) + configure_file(${CORE_SOURCE_DIR}/${resource} ${PACKAGE_OUTPUT_DIR}/${APP_NAME}.app COPYONLY) endforeach() +configure_file(${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/English.lproj/InfoPlist.strings + ${PACKAGE_OUTPUT_DIR}/${APP_NAME}.app/English.lproj/InfoPlist.strings COPYONLY) -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 $ - $/${APP_NAME}.bin +configure_file(${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/Info.plist.in + ${PACKAGE_OUTPUT_DIR}/${APP_NAME}.app/Info.plist @ONLY) +add_custom_target(bundle + COMMAND ${CMAKE_COMMAND} -E copy $ ${PACKAGE_OUTPUT_DIR}/${APP_NAME}.app/${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_BUILD_DIR=${PACKAGE_OUTPUT_DIR}" "TARGET_NAME=${APP_NAME}.app" "APP_NAME=${APP_NAME}" "PRODUCT_NAME=${APP_NAME}" @@ -56,22 +44,15 @@ add_custom_command(TARGET ${APP_NAME_LC} POST_BUILD "SRCROOT=${CMAKE_BINARY_DIR}" ${CORE_SOURCE_DIR}/tools/darwin/Support/CopyRootFiles-ios.command COMMAND "XBMC_DEPENDS=${DEPENDS_PATH}" - "TARGET_BUILD_DIR=$/.." + "TARGET_BUILD_DIR=${PACKAGE_OUTPUT_DIR}" "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=$" - "BUILT_PRODUCTS_DIR=$/.." - "WRAPPER_NAME=${APP_NAME}.app" - "APP_NAME=${APP_NAME}" - ${CORE_SOURCE_DIR}/tools/darwin/Support/Codesign.command -) + ${CORE_SOURCE_DIR}/tools/darwin/Support/copyframeworks-ios.command) +add_dependencies(bundle ${APP_NAME_LC}) set(DEPENDS_ROOT_FOR_XCODE ${NATIVEPREFIX}/..) configure_file(${CORE_SOURCE_DIR}/tools/darwin/packaging/ios/mkdeb-ios.sh.in @@ -80,6 +61,14 @@ configure_file(${CORE_SOURCE_DIR}/tools/darwin/packaging/migrate_to_kodi_ios.sh. ${CMAKE_BINARY_DIR}/tools/darwin/packaging/migrate_to_kodi_ios.sh @ONLY) add_custom_target(deb + COMMAND "XBMC_DEPENDS_ROOT=${NATIVEPREFIX}/.." + "PLATFORM_NAME=${PLATFORM}" + "CODESIGNING_FOLDER_PATH=${PACKAGE_OUTPUT_DIR}/${APP_NAME}.app" + "BUILT_PRODUCTS_DIR=${PACKAGE_OUTPUT_DIR}" + "WRAPPER_NAME=${APP_NAME}.app" + "APP_NAME=${APP_NAME}" + "CODE_SIGN_IDENTITY=\"\"" + ${CORE_SOURCE_DIR}/tools/darwin/Support/Codesign.command COMMAND sh ./mkdeb-ios.sh ${CORE_BUILD_CONFIG} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/tools/darwin/packaging/ios) -add_dependencies(deb ${APP_NAME_LC}) +add_dependencies(deb bundle) -- cgit v1.2.3