Merge with 'Beep6581/dev'
This commit is contained in:
@@ -155,8 +155,9 @@ fi
|
||||
|
||||
# In: OSX_CONTINUOUS:BOOL=ON
|
||||
# Out: ON
|
||||
OSX_CONTINUOUS="$(cmake .. -L -N | grep OSX_CONTINUOUS)"; NIGHTLY="${OSX_CONTINUOUS#*=}" && CONTINUOUS="${OSX_CONTINUOUS#*=}"
|
||||
OSX_CONTINUOUS="$(cmake .. -L -N | grep OSX_CONTINUOUS)"; CONTINUOUS="${OSX_CONTINUOUS#*=}"
|
||||
if [[ -n $CONTINUOUS ]]; then
|
||||
NIGHTLY="${OSX_CONTINUOUS#*=}"
|
||||
echo "Continuous/generically-named zip is ON."
|
||||
fi
|
||||
|
||||
@@ -216,12 +217,6 @@ CheckLink "${EXECUTABLE}" 2>&1
|
||||
# dylib install names
|
||||
ModifyInstallNames 2>&1
|
||||
|
||||
## Copy libexpat into the app bundle (which is keg-only)
|
||||
## if [[ -d /usr/local/Cellar/expat ]]; then ditto /usr/local/Cellar/expat/*/lib/libexpat.1.dylib "${CONTENTS}/Frameworks"; else cp "${EXPATLIB}" "${CONTENTS}/Frameworks/libexpat.1.dylib"; fi
|
||||
|
||||
## Copy libz into the app bundle
|
||||
## cp ${LOCAL_PREFIX}/lib/libz.1.dylib "${CONTENTS}/Frameworks"
|
||||
|
||||
# Copy libpng16 to the app bundle
|
||||
cp ${LOCAL_PREFIX}/lib/libpng16.16.dylib "${CONTENTS}/Frameworks/libpng16.16.dylib"
|
||||
|
||||
@@ -291,7 +286,6 @@ ditto "${PROJECT_SOURCE_DIR}/rtdata/fonts" "${ETC}/fonts"
|
||||
|
||||
# App bundle resources
|
||||
ditto "${PROJECT_SOURCE_DATA_DIR}/"{rawtherapee,profile}.icns "${RESOURCES}"
|
||||
#ditto "${PROJECT_SOURCE_DATA_DIR}/PkgInfo" "${CONTENTS}"
|
||||
|
||||
update-mime-database -V "${RESOURCES}/share/mime"
|
||||
cp -RL "${LOCAL_PREFIX}/share/locale" "${RESOURCES}/share/locale"
|
||||
@@ -315,7 +309,10 @@ for frameworklibs in "${LIB}"/*{dylib,so,cli}; do
|
||||
done
|
||||
install_name_tool -delete_rpath RawTherapee.app/Contents/Frameworks "${EXECUTABLE}"-cli 2>/dev/null
|
||||
install_name_tool -add_rpath /Applications/"${LIB}" "${EXECUTABLE}"-cli 2>/dev/null
|
||||
# ditto "${EXECUTABLE}"-cli "${APP}"/..
|
||||
|
||||
# Link to libomp instead of libgomp
|
||||
sudo install_name_tool -change /Applications/RawTherapee.app/Contents/Frameworks/libgomp.1.dylib /Applications/RawTherapee.app/Contents/Frameworks/libomp.dylib RawTherapee.app/Contents/Frameworks/libfftw3f_omp.3.dylib
|
||||
rm RawTherapee.app/Contents/Frameworks/libgomp.1.dylib
|
||||
|
||||
# Merge the app with the other architecture to create the Universal app.
|
||||
if [[ -n $UNIVERSAL_URL ]]; then
|
||||
@@ -323,7 +320,7 @@ if [[ -n $UNIVERSAL_URL ]]; then
|
||||
curl -L ${UNIVERSAL_URL} -o univ.zip
|
||||
msg "Extracting app."
|
||||
unzip univ.zip -d univapp
|
||||
hdiutil attach -mountpoint ./RawTherapeeuniv univapp/*dmg
|
||||
hdiutil attach -mountpoint ./RawTherapeeuniv univapp/*folder/*dmg
|
||||
if [[ $arch = "arm64" ]]; then
|
||||
cp -R RawTherapee.app RawTherapee-arm64.app
|
||||
minimum_arm64_version=$(f=$(cat RawTherapee-arm64.app/Contents/Resources/AboutThisBuild.txt | grep mmacosx-version); echo "${f#*min=}" | cut -d ' ' -f1)
|
||||
@@ -340,6 +337,7 @@ if [[ -n $UNIVERSAL_URL ]]; then
|
||||
cat RawTherapee-arm64.app/Contents/Resources/AboutThisBuild.txt >> RawTherapee.app/Contents/Resources/AboutThisBuild.txt
|
||||
fi
|
||||
cmake -DPROJECT_SOURCE_DATA_DIR=${PROJECT_SOURCE_DATA_DIR} -DCONTENTS=${CONTENTS} -Dversion=${PROJECT_FULL_VERSION} -DshortVersion=${PROJECT_VERSION} -Dminimum_arm64_version=${minimum_arm64_version} -Dminimum_x86_64_version=${minimum_x86_64_version} -Darch=${arch} -P ${PROJECT_SOURCE_DATA_DIR}/info-plist.cmake
|
||||
plutil -convert xml1 ${APP}/Contents/Info.plist
|
||||
hdiutil unmount ./RawTherapeeuniv
|
||||
rm -r univapp
|
||||
# Create the fat main RawTherapee binary and move it into the new bundle
|
||||
@@ -364,9 +362,26 @@ fi
|
||||
if [[ -n $CODESIGNID ]]; then
|
||||
msg "Codesigning Application."
|
||||
iconv -f UTF-8 -t ASCII "${PROJECT_SOURCE_DATA_DIR}"/rt.entitlements > "${CMAKE_BUILD_TYPE}"/rt.entitlements
|
||||
# mv "${EXECUTABLE}"-cli "${LIB}"
|
||||
codesign --force --deep --timestamp --strict -v -s "${CODESIGNID}" -i com.rawtherapee.RawTherapee-cli "${APP}"/Contents/MacOS/rawtherapee-cli
|
||||
codesign --force --deep --timestamp --strict -v -s "${CODESIGNID}" -i com.rawtherapee.RawTherapee -o runtime --entitlements "${CMAKE_BUILD_TYPE}"/rt.entitlements "${APP}"
|
||||
plutil -convert xml1 "${CMAKE_BUILD_TYPE}"/rt.entitlements
|
||||
for frame in ${APP}/Contents/Frameworks/* ; do
|
||||
echo $frame
|
||||
codesign --preserve-metadata=identifier --digest-algorithm=sha1,sha256 --force --timestamp --strict -v -s "${CODESIGNID}" -i com.rawtherapee.RawTherapee -o runtime --entitlements "${CMAKE_BUILD_TYPE}"/rt.entitlements $frame
|
||||
done
|
||||
for resource in ${APP}/Contents/Resources/* ; do
|
||||
echo $resource
|
||||
if [ ! -d $resource ]; then
|
||||
codesign --preserve-metadata=identifier --digest-algorithm=sha1,sha256 --force --timestamp --strict -v -s "${CODESIGNID}" -i com.rawtherapee.RawTherapee -o runtime --entitlements "${CMAKE_BUILD_TYPE}"/rt.entitlements $resource
|
||||
else
|
||||
for subresource in ${APP}/Contents/Resources/$(basename $resource)/* ; do
|
||||
if [ ! -d $subresource ]; then
|
||||
codesign --preserve-metadata=identifier --digest-algorithm=sha1,sha256 --force --timestamp --strict -v -s "${CODESIGNID}" -i com.rawtherapee.RawTherapee -o runtime --entitlements "${CMAKE_BUILD_TYPE}"/rt.entitlements $subresource
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
codesign --preserve-metadata=identifier --digest-algorithm=sha1,sha256 --force --timestamp --strict -v -s "${CODESIGNID}" -i com.rawtherapee.RawTherapee -o runtime --entitlements "${CMAKE_BUILD_TYPE}"/rt.entitlements "${APP}"/Contents/MacOS/rawtherapee-cli
|
||||
codesign --preserve-metadata=identifier --digest-algorithm=sha1,sha256 --force --timestamp --strict -v -s "${CODESIGNID}" -i com.rawtherapee.RawTherapee -o runtime --entitlements "${CMAKE_BUILD_TYPE}"/rt.entitlements "${APP}"/Contents/MacOS/rawtherapee
|
||||
codesign --preserve-metadata=identifier --digest-algorithm=sha1,sha256 --force --timestamp --strict -v -s "${CODESIGNID}" -i com.rawtherapee.RawTherapee -o runtime --entitlements "${CMAKE_BUILD_TYPE}"/rt.entitlements "${APP}"
|
||||
spctl -a -vvvv "${APP}"
|
||||
fi
|
||||
|
||||
@@ -407,21 +422,32 @@ function CreateDmg {
|
||||
fi
|
||||
|
||||
msg "Creating disk image:"
|
||||
if [[ ! -z $FANCY_DMG ]]; then
|
||||
if [[ $FANCY_DMG == "ON" ]]; then
|
||||
echo "Building Fancy .dmg"
|
||||
mkdir "${srcDir}/.background"
|
||||
cp -R "${PROJECT_SOURCE_DATA_DIR}/rtdmg.icns" "${srcDir}/.VolumeIcon.icns"
|
||||
cp -R "${PROJECT_SOURCE_DATA_DIR}/rtdmg-bkgd.png" "${srcDir}/.background/background.png"
|
||||
SetFile -c incC "${srcDir}/.VolumeIcon.icns"
|
||||
create-dmg "${dmg_name}.dmg" "${srcDir}" \
|
||||
--volname "${PROJECT_NAME}_${PROJECT_FULL_VERSION}" \
|
||||
--appname "${PROJECT_NAME}" \
|
||||
--volicon "${srcDir}/.VolumeIcon.icns" \
|
||||
--sandbox-safe \
|
||||
create-dmg \
|
||||
--background ${PROJECT_SOURCE_DATA_DIR}/rtdmg-bkgd.png \
|
||||
--volname ${PROJECT_NAME}_${PROJECT_FULL_VERSION} \
|
||||
--volicon ${PROJECT_SOURCE_DATA_DIR}/rtdmg.icns \
|
||||
--window-pos 72 72 \
|
||||
--window-size 1000 689 \
|
||||
--text-size 16 \
|
||||
--icon-size 80 \
|
||||
--icon LICENSE 810 0 \
|
||||
--icon RawTherapee.app 250 178 \
|
||||
--icon Applications 700 178 \
|
||||
--icon Website.webloc 300 423 \
|
||||
--icon Forum.webloc 420 423 \
|
||||
--icon Report\ Bug.webloc 540 423 \
|
||||
--icon Documentation.webloc 680 423 \
|
||||
--no-internet-enable \
|
||||
--eula LICENSE.txt \
|
||||
--eula ${PROJECT_SOURCE_DATA_DIR}/../../LICENSE \
|
||||
--hdiutil-verbose \
|
||||
--rez /Library/Developer/CommandLineTools/usr/bin/Rez
|
||||
--hide-extension Website.webloc \
|
||||
--hide-extension Report\ Bug.webloc \
|
||||
--hide-extension Forum.webloc \
|
||||
--hide-extension Documentation.webloc \
|
||||
--filesystem APFS \
|
||||
${dmg_name}.dmg ${srcDir}
|
||||
else
|
||||
hdiutil create -format UDBZ -fs HFS+ -srcdir "${srcDir}" -volname "${PROJECT_NAME}_${PROJECT_FULL_VERSION}" "${dmg_name}.dmg"
|
||||
fi
|
||||
@@ -429,7 +455,7 @@ function CreateDmg {
|
||||
# Sign disk image
|
||||
if [[ -n $CODESIGNID ]]; then
|
||||
msg "Signing disk image"
|
||||
codesign --deep --force -v -s "${CODESIGNID}" --timestamp "${dmg_name}.dmg"
|
||||
codesign --digest-algorithm=sha1,sha256 --force -v -s "${CODESIGNID}" --timestamp "${dmg_name}.dmg"
|
||||
fi
|
||||
|
||||
# Notarize the dmg
|
||||
@@ -444,6 +470,7 @@ function CreateDmg {
|
||||
msg "Zipping disk image for redistribution:"
|
||||
mkdir "${PROJECT_NAME}_macOS_${MINIMUM_SYSTEM_VERSION}_${arch}_${PROJECT_FULL_VERSION}_folder"
|
||||
cp {"${PROJECT_NAME}_macOS_${MINIMUM_SYSTEM_VERSION}_${arch}_${PROJECT_FULL_VERSION}.dmg","${PROJECT_NAME}.app/Contents/MacOS/rawtherapee-cli","${PROJECT_SOURCE_DATA_DIR}/INSTALL.readme.rtf"} "${PROJECT_NAME}_macOS_${MINIMUM_SYSTEM_VERSION}_${arch}_${PROJECT_FULL_VERSION}_folder"
|
||||
mv "${PROJECT_NAME}_macOS_${MINIMUM_SYSTEM_VERSION}_${arch}_${PROJECT_FULL_VERSION}_folder/INSTALL.readme.rtf" "${PROJECT_NAME}_macOS_${MINIMUM_SYSTEM_VERSION}_${arch}_${PROJECT_FULL_VERSION}_folder/install-readme.txt"
|
||||
codesign -s "${CODESIGNID}" -i com.rawtherapee.rawtherapee-cli -f "${PROJECT_NAME}_macOS_${MINIMUM_SYSTEM_VERSION}_${arch}_${PROJECT_FULL_VERSION}_folder/rawtherapee-cli"
|
||||
zip -r "${PROJECT_NAME}_macOS_${MINIMUM_SYSTEM_VERSION}_${arch}_${PROJECT_FULL_VERSION}.zip" "${PROJECT_NAME}_macOS_${MINIMUM_SYSTEM_VERSION}_${arch}_${PROJECT_FULL_VERSION}_folder/"
|
||||
if [[ -n $NIGHTLY ]]; then
|
||||
@@ -460,4 +487,8 @@ function CreateDmg {
|
||||
|
||||
CreateDmg
|
||||
msg "Finishing build:"
|
||||
# Clean up items
|
||||
rm *app.zip
|
||||
rm *dmg.zip
|
||||
rm univ.zip
|
||||
echo "Script complete."
|
||||
|
Reference in New Issue
Block a user