Moved debayer and preprocessing parameters to class ProcParams for every single image. Added tab RAW for changing those parameters. Progress bar shows only load step (work to do)
101 lines
2.9 KiB
Bash
Executable File
101 lines
2.9 KiB
Bash
Executable File
#!/bin/bash
|
|
# Function checkLink:
|
|
# args: $1 - file
|
|
#
|
|
# Will loop through all dynamic links for $file, and update each to be relative.
|
|
function checkLink {
|
|
#echo "checkLink called with $1 $2"
|
|
local FILE=$1
|
|
|
|
otool -L $FILE | grep -v "${APP}" | grep -v '/usr/lib' | grep -v '/System/' | grep -v "@executable_path" | cut -f 1 -d ' ' | while read X
|
|
do
|
|
local NAME=${LIB}/`basename "$X"`
|
|
if [ ! -f "${NAME}" ]
|
|
then
|
|
cp $X "${NAME}"
|
|
|
|
#Recursively update the linkage of libraries
|
|
checkLink "${NAME}"
|
|
fi
|
|
done
|
|
}
|
|
|
|
APP=RawTherapee.app
|
|
CONTENTS=${APP}/Contents
|
|
RESOURCES=${CONTENTS}/Resources
|
|
MACOS=${CONTENTS}/MacOS
|
|
BIN=${MACOS}/bin
|
|
ETC=${MACOS}/etc
|
|
LIB=${MACOS}/lib
|
|
SHARE=${MACOS}/share
|
|
RELEASE=release
|
|
DMG=${RELEASE}/RawTherapee.dmg
|
|
EXECUTABLE=rt
|
|
|
|
#Find where MacPorts is installed. We take a known binary (cmake), which is in <MacPorts>/bin, and
|
|
# go up a level to get the main install folder.
|
|
MACPORTS_PREFIX=`which cmake`
|
|
MACPORTS_PREFIX=`dirname $MACPORTS_PREFIX`
|
|
MACPORTS_PREFIX=`dirname $MACPORTS_PREFIX`
|
|
|
|
if [ ! -d ${RELEASE} ]; then
|
|
echo "Please run this from the root of the project; i.e. './tools/osx/make-app-bundle'."
|
|
exit
|
|
fi
|
|
|
|
if [ -d "${APP}" ]; then
|
|
echo "Removing old application..."
|
|
rm -rf "${APP}"
|
|
fi
|
|
if [ -f ${DMG} ]; then
|
|
echo "Removing old disk image..."
|
|
rm "${DMG}"
|
|
fi
|
|
|
|
echo "Making application directory structure..."
|
|
mkdir -p "${RESOURCES}"
|
|
mkdir -p "${ETC}"
|
|
mkdir -p "${LIB}"
|
|
mkdir -p "${SHARE}/mime"
|
|
|
|
#Copy over non-explicitly linked libraries
|
|
echo "Copying libraries from ${MACPORTS_PREFIX}..."
|
|
cp -R ${MACPORTS_PREFIX}/lib/pango ${LIB}
|
|
cp -R ${MACPORTS_PREFIX}/lib/gtk-2.0 ${LIB}
|
|
|
|
#Copy over mimes (if a mime is copied, and nobody hears, is it really copied?)
|
|
echo "Copying shared files from ${MACPORTS_PREFIX}..."
|
|
cp -R ${MACPORTS_PREFIX}/share/mime/* ${SHARE}/mime
|
|
|
|
#Copy over etc files, and modify as needed
|
|
echo "Copying configuration files from ${MACPORTS_PREFIX} and modifying for standalone app bundle..."
|
|
cp -R $MACPORTS_PREFIX/etc/gtk-2.0 ${ETC}
|
|
cp -R $MACPORTS_PREFIX/etc/pango ${ETC}
|
|
ESCAPED_MACPORTS_PREFIX=`echo ${MACPORTS_PREFIX} | sed -e 's/\\//\\\\\\//g'`
|
|
sed -i .bak -e "s/${ESCAPED_MACPORTS_PREFIX}/@executable_path/g" ${ETC}/gtk-2.0/gdk-pixbuf.loaders ${ETC}/pango/pango.modules
|
|
echo -e "[Pango]\nModuleFiles = /tmp/${EXECUTABLE}_pango.modules" > ${ETC}/pango/pangorc
|
|
|
|
|
|
#Copy over the release files
|
|
echo "Copying release files..."
|
|
cp -R release/* ${MACOS}
|
|
|
|
#Copy application-specific stuff like icons and startup script
|
|
echo "Creating required application bundle files..."
|
|
cp ./tools/osx/Info.plist ${CONTENTS}
|
|
cp tools/osx/Icons.icns ${RESOURCES}
|
|
cp tools/osx/start ${MACOS}
|
|
|
|
#Copy and relink the explicitly defined libraries
|
|
echo "Recursively copying libraries referenced by executable..."
|
|
checkLink "${MACOS}/${EXECUTABLE}"
|
|
|
|
|
|
#Make a .dmg for distribution and delete the .app
|
|
echo "Creating distribution .dmg..."
|
|
hdiutil create -srcdir ${APP} ${DMG}
|
|
echo "Cleaning up..."
|
|
rm -rf ${APP}
|
|
|
|
echo "All done!"
|