aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorfuzzard <bmurphy@bcmcs.net>2019-06-28 14:39:15 +1000
committerfuzzard <bmurphy@bcmcs.net>2019-10-03 13:33:12 +1000
commit1cf5d5e47f33baba6e6344a0c9f39a3689d18cc4 (patch)
tree22a7e1404caf7f6f22eff7fcf13d83b12f8cf0ca /tools
parent66aa582de978d50f74f31fe99ba6ca1e0fdd678d (diff)
[cmakebuildsys\ios] generator option (GEN) + docs
Xcode is now the only supported cmake generator for ios. make build no longer available for ios, removed from docs updated jenkins buildsteps for ios to use xcodebuild macos/tvos docs for cmakebuildsys updated for use with xcodebuild Cleanup of cmake and darwin/support scripts to use existing default variables from xcode project instead of defining additional.
Diffstat (limited to 'tools')
-rwxr-xr-xtools/buildsteps/ios/make-xbmc2
-rwxr-xr-xtools/buildsteps/ios/package2
-rwxr-xr-xtools/darwin/Support/Codesign.command10
-rwxr-xr-xtools/darwin/Support/CopyRootFiles-darwin_embedded.command55
-rwxr-xr-xtools/darwin/Support/copyframeworks-darwin_embedded.command21
-rw-r--r--tools/depends/target/cmakebuildsys/Makefile10
6 files changed, 51 insertions, 49 deletions
diff --git a/tools/buildsteps/ios/make-xbmc b/tools/buildsteps/ios/make-xbmc
index b70e3eee91..752cb23257 100755
--- a/tools/buildsteps/ios/make-xbmc
+++ b/tools/buildsteps/ios/make-xbmc
@@ -2,4 +2,4 @@ WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )}
XBMC_PLATFORM_DIR=ios
. $WORKSPACE/tools/buildsteps/defaultenv
-cd $WORKSPACE/build;make -j$BUILDTHREADS || make
+cd $WORKSPACE/build;xcodebuild -configuration $Configuration build -jobs $BUILDTHREADS
diff --git a/tools/buildsteps/ios/package b/tools/buildsteps/ios/package
index 81f9030677..4f549fe974 100755
--- a/tools/buildsteps/ios/package
+++ b/tools/buildsteps/ios/package
@@ -2,7 +2,7 @@ WORKSPACE=${WORKSPACE:-$( cd $(dirname $0)/../../.. ; pwd -P )}
XBMC_PLATFORM_DIR=ios
. $WORKSPACE/tools/buildsteps/defaultenv
-cd $WORKSPACE/build;make -j$BUILDTHREADS deb
+cd $WORKSPACE/build;xcodebuild -target deb -jobs $BUILDTHREADS
cd $WORKSPACE/build/tools/darwin/packaging/darwin_embedded/
#rename for upload
diff --git a/tools/darwin/Support/Codesign.command b/tools/darwin/Support/Codesign.command
index 1265000f8e..6d2b5f474a 100755
--- a/tools/darwin/Support/Codesign.command
+++ b/tools/darwin/Support/Codesign.command
@@ -33,9 +33,9 @@ if [ "${PLATFORM_NAME}" == "iphoneos" ] || [ "${PLATFORM_NAME}" == "appletvos" ]
#do fake sign - needed for jailbroken ios5.1 devices for some reason
if [ -f ${LDID} ]; then
- find ${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/ -name "*.dylib" | xargs ${LDID} -S${IOS11_ENTITLEMENTS}
- find ${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/ -name "*.so" | xargs ${LDID} -S${IOS11_ENTITLEMENTS}
- ${LDID} -S${IOS11_ENTITLEMENTS} ${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${APP_NAME}
+ find ${BUILT_PRODUCTS_DIR}/${EXECUTABLE_FOLDER_PATH}/ -name "*.dylib" | xargs ${LDID} -S${IOS11_ENTITLEMENTS}
+ find ${BUILT_PRODUCTS_DIR}/${EXECUTABLE_FOLDER_PATH}/ -name "*.so" | xargs ${LDID} -S${IOS11_ENTITLEMENTS}
+ ${LDID} -S${IOS11_ENTITLEMENTS} ${BUILT_PRODUCTS_DIR}/${EXECUTABLE_FOLDER_PATH}/${EXECUTABLE_NAME}
#repackage python eggs
EGGS=`find ${CODESIGNING_FOLDER_PATH} -name "*.egg" -type f`
@@ -67,8 +67,8 @@ if [ "${PLATFORM_NAME}" == "iphoneos" ] || [ "${PLATFORM_NAME}" == "appletvos" ]
fi
echo "${CODE_SIGN_IDENTITY_FOR_ITEMS}"
- ${GEN_ENTITLEMENTS} "${BUNDLEID}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";
- codesign -v -f -s "${CODE_SIGN_IDENTITY_FOR_ITEMS}" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"
+ ${GEN_ENTITLEMENTS} "${BUNDLEID}" "${BUILT_PRODUCTS_DIR}/${EXECUTABLE_FOLDER_PATH}/${EXECUTABLE_NAME}.xcent";
+ codesign -v -f -s "${CODE_SIGN_IDENTITY_FOR_ITEMS}" --entitlements "${BUILT_PRODUCTS_DIR}/${EXECUTABLE_FOLDER_PATH}/${EXECUTABLE_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${EXECUTABLE_FOLDER_PATH}/"
#if user has set a code_sign_identity different from iPhone Developer we do a real codesign (for deployment on non-jailbroken devices)
if ! [ -z "${CODE_SIGN_IDENTITY}" ] && [ "${CODE_SIGN_IDENTITY}" == "iPhone Developer" ] && [ "${CODE_SIGN_IDENTITY}" != "Don't Code Sign" ]; then
diff --git a/tools/darwin/Support/CopyRootFiles-darwin_embedded.command b/tools/darwin/Support/CopyRootFiles-darwin_embedded.command
index 9bca3a8017..dea36f7021 100755
--- a/tools/darwin/Support/CopyRootFiles-darwin_embedded.command
+++ b/tools/darwin/Support/CopyRootFiles-darwin_embedded.command
@@ -6,11 +6,6 @@ echo "copy root files"
if [ "$ACTION" = build ] ; then
-# for external testing
-TARGET_NAME=$PRODUCT_NAME.$WRAPPER_EXTENSION
-#SRCROOT=/Users/Shared/xbmc_svn/$APP_NAME
-#TARGET_BUILD_DIR=/Users/Shared/xbmc_svn/$APP_NAME/build/Debug
-
# rsync command with exclusions for items we don't want in the app package
SYNC="rsync -aq --exclude .git* --exclude .DS_Store* --exclude *.dll --exclude *.DLL --exclude *linux.* --exclude *x86-osx.so --exclude *.zlib --exclude *.a"
@@ -22,41 +17,41 @@ SKINSYNC="rsync -aq --exclude .git* --exclude CVS* --exclude .svn* --exclude .cv
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"
# binary name is Kodi but we build Kodi.bin so to get a clean binary each time
-mv $TARGET_BUILD_DIR/$TARGET_NAME/$APP_NAME.bin $TARGET_BUILD_DIR/$TARGET_NAME/$APP_NAME
-
-mkdir -p "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/AppHome"
-mkdir -p "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/AppHome/addons"
-mkdir -p "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/AppHome/media"
-mkdir -p "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/AppHome/system"
-mkdir -p "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/AppHome/userdata"
-mkdir -p "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/AppHome/media"
-mkdir -p "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/AppHome/tools/darwin/runtime"
-
-${SYNC} "$SRCROOT/LICENSE.md" "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/"
-${SYNC} "$SRCROOT/privacy-policy.txt" "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/AppHome"
-${SYNC} "$SRCROOT/xbmc/platform/darwin/Credits.html" "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/"
-${ADDONSYNC} "$SRCROOT/addons" "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/AppHome"
-${SYNC} "$SRCROOT/media" "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/AppHome"
+mv $TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/$EXECUTABLE_NAME.bin $TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/$EXECUTABLE_NAME
+
+mkdir -p "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/AppHome"
+mkdir -p "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/AppHome/addons"
+mkdir -p "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/AppHome/media"
+mkdir -p "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/AppHome/system"
+mkdir -p "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/AppHome/userdata"
+mkdir -p "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/AppHome/media"
+mkdir -p "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/AppHome/tools/darwin/runtime"
+
+${SYNC} "$BUILD_ROOT/LICENSE.md" "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/"
+${SYNC} "$BUILD_ROOT/privacy-policy.txt" "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/AppHome"
+${SYNC} "$BUILD_ROOT/xbmc/platform/darwin/Credits.html" "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/"
+${ADDONSYNC} "$BUILD_ROOT/addons" "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/AppHome"
+${SYNC} "$BUILD_ROOT/media" "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/AppHome"
# sync skin.estouchy
SYNCSKIN_A=${SKINSYNC}
-if [ -f "$SRCROOT/addons/skin.estouchy/media/Textures.xbt" ]; then
+if [ -f "$BUILD_ROOT/addons/skin.estouchy/media/Textures.xbt" ]; then
SYNCSKIN_A="${SKINSYNC} --exclude *.png --exclude *.jpg"
fi
-${SYNCSKIN_A} "$SRCROOT/addons/skin.estouchy" "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/AppHome/addons"
-${SYNC} "$SRCROOT/addons/skin.estouchy/background" "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/AppHome/addons/skin.estouchy"
-${SYNC} "$SRCROOT/addons/skin.estouchy/resources" "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/AppHome/addons/skin.estouchy"
+${SYNCSKIN_A} "$BUILD_ROOT/addons/skin.estouchy" "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/AppHome/addons"
+${SYNC} "$BUILD_ROOT/addons/skin.estouchy/background" "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/AppHome/addons/skin.estouchy"
+${SYNC} "$BUILD_ROOT/addons/skin.estouchy/resources" "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/AppHome/addons/skin.estouchy"
# sync skin.estuary
SYNCSKIN_B=${SKINSYNC}
-if [ -f "$SRCROOT/addons/skin.estuary/media/Textures.xbt" ]; then
+if [ -f "$BUILD_ROOT/addons/skin.estuary/media/Textures.xbt" ]; then
SYNCSKIN_B="${SKINSYNC} --exclude *.png --exclude *.jpg"
fi
-${SYNCSKIN_B} "$SRCROOT/addons/skin.estuary" "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/AppHome/addons"
-${SYNC} "$SRCROOT/addons/skin.estuary/extras" "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/AppHome/addons/skin.estuary"
-${SYNC} "$SRCROOT/addons/skin.estuary/resources" "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/AppHome/addons/skin.estuary"
+${SYNCSKIN_B} "$BUILD_ROOT/addons/skin.estuary" "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/AppHome/addons"
+${SYNC} "$BUILD_ROOT/addons/skin.estuary/extras" "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/AppHome/addons/skin.estuary"
+${SYNC} "$BUILD_ROOT/addons/skin.estuary/resources" "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/AppHome/addons/skin.estuary"
-${SYNC} "$SRCROOT/system" "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/AppHome"
-${SYNC} "$SRCROOT/userdata" "$TARGET_BUILD_DIR/$TARGET_NAME/AppData/AppHome"
+${SYNC} "$BUILD_ROOT/system" "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/AppHome"
+${SYNC} "$BUILD_ROOT/userdata" "$TARGET_BUILD_DIR/$EXECUTABLE_FOLDER_PATH/AppData/AppHome"
fi
diff --git a/tools/darwin/Support/copyframeworks-darwin_embedded.command b/tools/darwin/Support/copyframeworks-darwin_embedded.command
index d52033ebf9..f6b308391f 100755
--- a/tools/darwin/Support/copyframeworks-darwin_embedded.command
+++ b/tools/darwin/Support/copyframeworks-darwin_embedded.command
@@ -49,24 +49,23 @@ function check_xbmc_dylib_depends
EXTERNAL_LIBS=$XBMC_DEPENDS
-TARGET_NAME=$PRODUCT_NAME.$WRAPPER_EXTENSION
-TARGET_CONTENTS=$TARGET_BUILD_DIR/$TARGET_NAME
+TARGET_BINARY=$TARGET_BUILD_DIR/$EXECUTABLE_PATH
+TARGET_CONTENTS=$TARGET_BUILD_DIR/$FULL_PRODUCT_NAME
+TARGET_FRAMEWORKS=$TARGET_BUILD_DIR/$FRAMEWORKS_FOLDER_PATH
-TARGET_BINARY=$TARGET_CONTENTS/$APP_NAME
-TARGET_FRAMEWORKS=$TARGET_CONTENTS/Frameworks
DYLIB_NAMEPATH=@executable_path/Frameworks
XBMC_HOME=$TARGET_CONTENTS/AppData/AppHome
mkdir -p "$TARGET_CONTENTS"
mkdir -p "$TARGET_CONTENTS/AppData/AppHome"
# start clean so we don't keep old dylibs
-rm -rf "$TARGET_CONTENTS/Frameworks"
-mkdir -p "$TARGET_CONTENTS/Frameworks"
+rm -rf "$TARGET_FRAMEWORKS"
+mkdir -p "$TARGET_FRAMEWORKS"
-echo "Package $TARGET_NAME"
+echo "Package $FULL_PRODUCT_NAME"
# Copy all of XBMC's dylib dependencies and rename their locations to inside the Framework
-echo "Checking $TARGET_NAME for dylib dependencies"
+echo "Checking $FULL_PRODUCT_NAME for dylib dependencies"
for a in $(otool -L "$TARGET_BINARY" | grep "$EXTERNAL_LIBS\|$DYLIB_NAMEPATH" | awk ' { print $1 } ') ; do
echo " Packaging $a"
cp -f "$EXTERNAL_LIBS/lib/$(basename $a)" "$TARGET_FRAMEWORKS/"
@@ -75,7 +74,7 @@ for a in $(otool -L "$TARGET_BINARY" | grep "$EXTERNAL_LIBS\|$DYLIB_NAMEPATH" |
done
echo "Package $EXTERNAL_LIBS/lib/python2.7"
-mkdir -p "$TARGET_CONTENTS/Frameworks/lib"
+mkdir -p "$TARGET_FRAMEWORKS/lib"
PYTHONSYNC="rsync -aq --exclude .DS_Store --exclude *.a --exclude *.exe --exclude test --exclude tests"
${PYTHONSYNC} "$EXTERNAL_LIBS/lib/python2.7" "$TARGET_FRAMEWORKS/lib/"
rm -rf "$TARGET_FRAMEWORKS/lib/python2.7/config"
@@ -90,11 +89,11 @@ echo "Checking addons *.so for dylib dependencies"
check_xbmc_dylib_depends "$XBMC_HOME"/addons "*.so"
echo "Checking xbmc/DllPaths_generated.h for dylib dependencies"
-for a in $(grep .dylib "$SRCROOT"/xbmc/DllPaths_generated.h | awk '{print $3}' | sed s/\"//g) ; do
+for a in $(grep .dylib "$BUILD_ROOT"/xbmc/DllPaths_generated.h | awk '{print $3}' | sed s/\"//g) ; do
check_dyloaded_depends $a
done
-echo "Checking $TARGET_NAME/Frameworks for missing dylib dependencies"
+echo "Checking $TARGET_FRAMEWORKS for missing dylib dependencies"
REWIND="1"
while [ $REWIND = "1" ]
do
diff --git a/tools/depends/target/cmakebuildsys/Makefile b/tools/depends/target/cmakebuildsys/Makefile
index 893e21caba..67b3292343 100644
--- a/tools/depends/target/cmakebuildsys/Makefile
+++ b/tools/depends/target/cmakebuildsys/Makefile
@@ -10,13 +10,21 @@ ifeq ($(Configuration),)
endif
endif
+ifeq ($(OS),darwin_embedded)
+ CMAKE_BUILD_ARGUMENTS = -G Xcode
+else ifeq ($(GEN),Xcode)
+ CMAKE_BUILD_ARGUMENTS = -G Xcode
+else
+ CMAKE_BUILD_ARGUMENTS = -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=$(Configuration)
+endif
+
ifeq ($(BUILD_DIR),)
BUILD_DIR=$(CMAKE_SOURCE_DIR)/build
endif
all:
mkdir -p $(BUILD_DIR)
- cd $(BUILD_DIR); $(CMAKE) -DCMAKE_BUILD_TYPE=$(Configuration) -DENABLE_INTERNAL_CROSSGUID=OFF -DENABLE_INTERNAL_FFMPEG=OFF $(CMAKE_EXTRA_ARGUMENTS) $(CMAKE_SOURCE_DIR)
+ cd $(BUILD_DIR); $(CMAKE) $(CMAKE_BUILD_ARGUMENTS) -DENABLE_INTERNAL_CROSSGUID=OFF -DENABLE_INTERNAL_FFMPEG=OFF $(CMAKE_EXTRA_ARGUMENTS) $(CMAKE_SOURCE_DIR)
kodi:
$(MAKE) -C $(BUILD_DIR)