Blame 2-build-cmake.sh

Voldracarno Draconor bb9d74
#!/usr/bin/env bash
Voldracarno Draconor bb9d74
#
Voldracarno Draconor bb9d74
# = Usage: =
Voldracarno Draconor d0285b
#    ./2-build-cmake.sh [OPTIONS]
Voldracarno Draconor 039108
#
Voldracarno Draconor 039108
# OPTIONS
Voldracarno Draconor 039108
# -d = Debug build (standard)
Voldracarno Draconor 039108
# -r = Release build
Voldracarno Draconor acb820
# -n = Don't write the run-portable.sh to the out dir
Voldracarno Draconor 039108
# -j NUMBER = Set parallel make jobs (1 <= NUMBER <= 999) (standard is 1)
Voldracarno Draconor d0285b
# -i = Enable incremental build (disables the clean_build_dir, gen_dir_structure and the build_images steps). Before using this option, you will have to build Synfig Studio on time without this option on the selected build mode (or use the --rerender option)
Voldracarno Draconor d0285b
# --rerender = Rerender the images (even if incremental build is activated)
Voldracarno Draconor 039108
# -p = Only print out the current active build settings and exit
Voldracarno Draconor 5205e0
# --data-prefix = The installed Synfig Studio looks for it's data (icons, sounds, etc) in [DATA_PREFIX]/share/. This option sets a custom DATA_PREFIX. (Standard is the out directory)
Voldracarno Draconor 039108
#
Voldracarno Draconor 039108
# = Examples =
Voldracarno Draconor 039108
# Make a debug build
Voldracarno Draconor 039108
#    ./build-cmake -d
Voldracarno Draconor 039108
#
Voldracarno Draconor 039108
# Make a release build
Voldracarno Draconor 039108
#    ./build-cmake -r
Voldracarno Draconor 039108
#
Voldracarno Draconor 039108
# Make a release build with two parallel make jobs
Voldracarno Draconor 039108
#    ./build-cmake -r -j 2
Voldracarno Draconor bb9d74
Voldracarno Draconor bb9d74
#Define dir paths
Voldracarno Draconor bb9d74
pwd_dir="$PWD"
Voldracarno Draconor bb9d74
absolute_script_path="$(readlink -f "$0")"
Voldracarno Draconor bb9d74
absolute_base_dir="$(dirname "$absolute_script_path")"
Voldracarno Draconor bb9d74
Voldracarno Draconor bb9d74
cd ${absolute_base_dir}
Voldracarno Draconor bb9d74
Voldracarno Draconor bb9d74
# Include build folder names and build functions
Voldracarno Draconor bb9d74
source ./autobuild/build-cmake-common.sh
Voldracarno Draconor bb9d74
Voldracarno Draconor bb9d74
if [ $? -ne 0 ]
Voldracarno Draconor bb9d74
    then
Voldracarno Draconor bb9d74
        echo "Failed to include: ./autobuild/build-cmake-common.sh"
Voldracarno Draconor bb9d74
        cd "$pwd_dir"
Voldracarno Draconor bb9d74
        exit
Voldracarno Draconor bb9d74
fi
Voldracarno Draconor bb9d74
Voldracarno Draconor 039108
# Parse build options
Voldracarno Draconor 039108
parse_build_arguments "$@"
Voldracarno Draconor 039108
Voldracarno Draconor 039108
# Print build settings
Voldracarno Draconor 039108
print_build_settings
Voldracarno Draconor 039108
Voldracarno Draconor bb9d74
# Exec build steps
Voldracarno Draconor bb9d74
clean_build_dir
Voldracarno Draconor bb9d74
gen_dir_structure
Voldracarno Draconor bb9d74
build_etl
Voldracarno Draconor bb9d74
build_synfig_core
Voldracarno Draconor bb9d74
build_synfig_studio
Voldracarno Draconor acb820
write_portable_run_code
Voldracarno Draconor acb820
Voldracarno Draconor 245563
# Print success, restore the current directory and exit
luz.paz 99f3ef
echo "Build successful to: ${absolute_base_dir}/${cmake_build_dir}/${out_dir}"
Voldracarno Draconor bb9d74
cd "$pwd_dir"