mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
70 lines
1.6 KiB
Bash
Executable file
70 lines
1.6 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
# You can execute this script with different parameters:
|
|
# components - compiling components needed for doublecmd
|
|
# doublecmd - compiling doublecmd only (release mode)
|
|
# plugins - compiling all doublecmd plugins
|
|
# debug - compiling components, plugins and doublecmd (debug mode)
|
|
# release - compile in release mode (using by default)
|
|
|
|
# path to lazbuild
|
|
export lazbuild=$(which lazbuild)
|
|
|
|
# Set up widgetset: gtk2 or qt or qt5 or cocoa
|
|
# Set up processor architecture: i386 or x86_64
|
|
if [ $2 ]
|
|
then export lcl=$2
|
|
fi
|
|
if [ $lcl ] && [ $CPU_TARGET ]
|
|
then export DC_ARCH=$(echo "--widgetset=$lcl")" "$(echo "--cpu=$CPU_TARGET")
|
|
elif [ $lcl ]
|
|
then export DC_ARCH=$(echo "--widgetset=$lcl")
|
|
elif [ $CPU_TARGET ]
|
|
then export DC_ARCH=$(echo "--cpu=$CPU_TARGET")
|
|
fi
|
|
|
|
build_doublecmd()
|
|
{
|
|
# Build Double Commander
|
|
$lazbuild src/doublecmd.lpi --bm=release $DC_ARCH
|
|
|
|
# Build Dwarf LineInfo Extractor
|
|
$lazbuild tools/extractdwrflnfo.lpi
|
|
|
|
# Extract debug line info
|
|
chmod a+x tools/extractdwrflnfo
|
|
if [ -f doublecmd.dSYM/Contents/Resources/DWARF/doublecmd ]; then
|
|
mv -f doublecmd.dSYM/Contents/Resources/DWARF/doublecmd $(pwd)/doublecmd.dbg
|
|
fi
|
|
tools/extractdwrflnfo doublecmd.dbg
|
|
|
|
# Strip debug info
|
|
strip doublecmd
|
|
}
|
|
|
|
build_release()
|
|
{
|
|
components/build.sh
|
|
plugins/build.sh
|
|
build_doublecmd
|
|
}
|
|
|
|
build_debug()
|
|
{
|
|
components/build.sh
|
|
plugins/build.sh
|
|
|
|
# Build Double Commander
|
|
$lazbuild src/doublecmd.lpi --bm=debug $DC_ARCH
|
|
}
|
|
|
|
|
|
case $1 in
|
|
components) components/build.sh;;
|
|
doublecmd) build_doublecmd;;
|
|
plugins) plugins/build.sh;;
|
|
debug) build_debug;;
|
|
*) build_release;;
|
|
esac
|