diff options
-rw-r--r-- | cmake/scripts/darwin_embedded/ArchSetup.cmake | 2 | ||||
-rw-r--r-- | cmake/scripts/darwin_embedded/Install.cmake | 15 | ||||
-rwxr-xr-x | tools/darwin/Support/CopyRootFiles-darwin_embedded.command | 2 |
3 files changed, 18 insertions, 1 deletions
diff --git a/cmake/scripts/darwin_embedded/ArchSetup.cmake b/cmake/scripts/darwin_embedded/ArchSetup.cmake index a2be3b7e76..27f403b8af 100644 --- a/cmake/scripts/darwin_embedded/ArchSetup.cmake +++ b/cmake/scripts/darwin_embedded/ArchSetup.cmake @@ -57,6 +57,8 @@ enable_arc() # Xcode strips dead code by default which breaks wrapping set(CMAKE_XCODE_ATTRIBUTE_DEAD_CODE_STRIPPING OFF) +option(ENABLE_XCODE_ADDONBUILD "Enable Xcode automatic addon building?" OFF) + # Unify output directories for iOS/tvOS packaging scripts set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CORE_BUILD_DIR}/${CORE_BUILD_CONFIG}) foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) diff --git a/cmake/scripts/darwin_embedded/Install.cmake b/cmake/scripts/darwin_embedded/Install.cmake index ae8337bfa4..106cfc9bed 100644 --- a/cmake/scripts/darwin_embedded/Install.cmake +++ b/cmake/scripts/darwin_embedded/Install.cmake @@ -80,6 +80,21 @@ set_target_properties(${APP_NAME_LC} PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_IDENTI XCODE_ATTRIBUTE_DEVELOPMENT_TEAM "${DEVELOPMENT_TEAM}" XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER "${PROVISIONING_PROFILE_APP}") +# Create xcode target that allows to build binary-addons. +if(CORE_PLATFORM_NAME_LC STREQUAL tvos) + if(ADDONS_TO_BUILD) + set(_addons "ADDONS=${ADDONS_TO_BUILD}") + endif() + add_custom_target(binary-addons + COMMAND $(MAKE) -C ${CMAKE_SOURCE_DIR}/tools/depends/target/binary-addons clean + COMMAND $(MAKE) -C ${CMAKE_SOURCE_DIR}/tools/depends/target/binary-addons VERBOSE=1 V=99 + INSTALL_PREFIX="${CMAKE_BINARY_DIR}/addons" CROSS_COMPILING=yes ${_addons}) + if(ENABLE_XCODE_ADDONBUILD) + add_dependencies(${APP_NAME_LC} binary-addons) + endif() + unset(_addons) +endif() + add_custom_command(TARGET ${APP_NAME_LC} POST_BUILD # TODO: Remove in sync with CopyRootFiles-darwin_embedded expecting the ".bin" file COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${APP_NAME_LC}> diff --git a/tools/darwin/Support/CopyRootFiles-darwin_embedded.command b/tools/darwin/Support/CopyRootFiles-darwin_embedded.command index dea36f7021..638ae6d1e9 100755 --- a/tools/darwin/Support/CopyRootFiles-darwin_embedded.command +++ b/tools/darwin/Support/CopyRootFiles-darwin_embedded.command @@ -14,7 +14,7 @@ SYNC="rsync -aq --exclude .git* --exclude .DS_Store* --exclude *.dll --exclude * SKINSYNC="rsync -aq --exclude .git* --exclude CVS* --exclude .svn* --exclude .cvsignore* --exclude .cvspass* --exclude .DS_Store* --exclude *.dll --exclude *.DLL --exclude *linux.* --exclude *.bat" # rsync command for including everything but the skins -ADDONSYNC="rsync -aq --no-links --exclude .git* --exclude CVS* --exclude .svn* --exclude .cvsignore* --exclude .cvspass* --exclude .DS_Store* --exclude addons/skin.estuary --exclude addons/skin.estouchy" +ADDONSYNC="rsync -aq --no-links --exclude .git* --exclude CVS* --exclude .svn* --exclude .cvsignore* --exclude .cvspass* --exclude .DS_Store* --exclude addons/skin.estuary --exclude addons/skin.estouchy --exclude addons/lib --exclude addons/share" # binary name is Kodi but we build Kodi.bin so to get a clean binary each time mv $TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/$EXECUTABLE_NAME.bin $TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/$EXECUTABLE_NAME |