405 lines
16 KiB
Bash
Executable File
405 lines
16 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
PROJECT_BUILD_ARCH=$1
|
|
PROJECT_CMAKE_BUILD_TYPE=$2
|
|
PROJECT_BUILD_CLEAN=$3
|
|
PROJECT_IS_MINGW=$4
|
|
PROJECT_IS_MINGW_UNIX=$5
|
|
DISABLE_CREATE_DIRS=$6
|
|
|
|
CURRENT_DIR=$(dirname "$0")
|
|
CURRENT_DIR=$(realpath ${CURRENT_DIR})
|
|
|
|
SOURCE_DIR=${CURRENT_DIR}/..
|
|
SOURCE_DIR=$(realpath ${SOURCE_DIR})
|
|
|
|
NUM_JOBS=${MY_NUM_JOBS}
|
|
if [[ -z "${NUM_JOBS}" ]]; then
|
|
NUM_JOBS=$(getconf _NPROCESSORS_ONLN 2>/dev/null ||
|
|
getconf NPROCESSORS_ONLN 2>/dev/null || echo 1)
|
|
if [ "${NUM_JOBS}" -gt "4" ]; then
|
|
NUM_JOBS=$(expr ${NUM_JOBS} - 2)
|
|
elif [ "${NUM_JOBS}" -gt "1" ]; then
|
|
NUM_JOBS=$(expr ${NUM_JOBS} - 1)
|
|
fi
|
|
fi
|
|
|
|
PROJECT_ENABLE_BOOST=OFF
|
|
PROJECT_ENABLE_CLI11=OFF
|
|
PROJECT_ENABLE_CPP_HTTPLIB=OFF
|
|
PROJECT_ENABLE_CURL=OFF
|
|
PROJECT_ENABLE_DTL=OFF
|
|
PROJECT_ENABLE_FLAC=OFF
|
|
PROJECT_ENABLE_FMT=OFF
|
|
PROJECT_ENABLE_FONTCONFIG=OFF
|
|
PROJECT_ENABLE_FREETYPE2=OFF
|
|
PROJECT_ENABLE_FUSE=OFF
|
|
PROJECT_ENABLE_FZF=OFF
|
|
PROJECT_ENABLE_GTKMM=OFF
|
|
PROJECT_ENABLE_JSON=OFF
|
|
PROJECT_ENABLE_LIBBITCOIN_SYSTEM=OFF
|
|
PROJECT_ENABLE_LIBEVENT=OFF
|
|
PROJECT_ENABLE_LIBSODIUM=OFF
|
|
PROJECT_ENABLE_NUSPELL=OFF
|
|
PROJECT_ENABLE_OGG=OFF
|
|
PROJECT_ENABLE_OPENAL=OFF
|
|
PROJECT_ENABLE_OPENSSL=OFF
|
|
PROJECT_ENABLE_PUGIXML=OFF
|
|
PROJECT_ENABLE_ROCKSDB=OFF
|
|
PROJECT_ENABLE_SAGO_PLATFORM_FOLDERS=OFF
|
|
PROJECT_ENABLE_SECP256K1=OFF
|
|
PROJECT_ENABLE_SFML=OFF
|
|
PROJECT_ENABLE_SPDLOG=OFF
|
|
PROJECT_ENABLE_SQLITE=OFF
|
|
PROJECT_ENABLE_STDUUID=OFF
|
|
PROJECT_ENABLE_TESTING=OFF
|
|
PROJECT_ENABLE_TPL=OFF
|
|
PROJECT_ENABLE_VORBIS=OFF
|
|
PROJECT_ENABLE_WINFSP=OFF
|
|
PROJECT_ENABLE_WXWIDGETS=OFF
|
|
|
|
PROJECT_APP_LIST=()
|
|
PROJECT_CMAKE_OPTS=""
|
|
PROJECT_IS_ALPINE=0
|
|
PROJECT_MINGW64_COPY_DEPENDENCIES=()
|
|
PROJECT_MSYS2_PACKAGE_LIST=()
|
|
PROJECT_REQUIRE_ALPINE=OFF
|
|
PROJECT_STATIC_LINK=OFF
|
|
|
|
if [ -f /etc/alpine-release ]; then
|
|
PROJECT_IS_ALPINE=1
|
|
fi
|
|
|
|
if [ "${PROJECT_IS_MINGW}" == "" ]; then
|
|
PROJECT_IS_MINGW=0
|
|
fi
|
|
|
|
if [ "${PROJECT_IS_MINGW_UNIX}" == "" ]; then
|
|
PROJECT_IS_MINGW_UNIX=0
|
|
fi
|
|
|
|
. "${SOURCE_DIR}/config.sh"
|
|
|
|
if [ "${PROJECT_ENABLE_SFML}" == "ON" ]; then
|
|
PROJECT_ENABLE_FLAC=ON
|
|
PROJECT_ENABLE_FONTCONFIG=ON
|
|
PROJECT_ENABLE_FREETYPE2=ON
|
|
PROJECT_ENABLE_OGG=ON
|
|
PROJECT_ENABLE_OPENAL=ON
|
|
PROJECT_ENABLE_VORBIS=ON
|
|
PROJECT_STATIC_LINK=OFF
|
|
fi
|
|
|
|
if [ "${PROJECT_ENABLE_CPP_HTTPLIB}" == "ON" ]; then
|
|
PROJECT_ENABLE_CURL=ON
|
|
PROJECT_ENABLE_OPENSSL=ON
|
|
fi
|
|
|
|
if [ "${PROJECT_ENABLE_CURL}" == "ON" ]; then
|
|
PROJECT_ENABLE_OPENSSL=ON
|
|
fi
|
|
|
|
if [ "${PROJECT_ENABLE_LIBBITCOIN_SYSTEM}" == "ON" ]; then
|
|
PROJECT_ENABLE_BOOST=ON
|
|
PROJECT_ENABLE_SECP256K1=ON
|
|
fi
|
|
|
|
if [ "${PROJECT_ENABLE_FONTCONFIG}" == "ON" ]; then
|
|
PROJECT_ENABLE_FREETYPE2=ON
|
|
fi
|
|
|
|
if [ "${PROJECT_ENABLE_WXWIDGETS}" == "ON" ]; then
|
|
PROJECT_ENABLE_CURL=ON
|
|
PROJECT_STATIC_LINK=OFF
|
|
fi
|
|
|
|
if [ "${PROJECT_ENABLE_SPDLOG}" == "ON" ]; then
|
|
PROJECT_ENABLE_FMT=OFF
|
|
fi
|
|
|
|
if [ "${PROJECT_ENABLE_VORBIS}" == "ON" ]; then
|
|
PROJECT_ENABLE_OGG=ON
|
|
fi
|
|
|
|
if [ "${PROJECT_ENABLE_FLAC}" == "ON" ]; then
|
|
PROJECT_ENABLE_OGG=ON
|
|
PROJECT_ENABLE_VORBIS=ON
|
|
fi
|
|
|
|
if [ "${PROJECT_ENABLE_BOOST}" == "ON" ]; then
|
|
PROJECT_ENABLE_OPENSSL=ON
|
|
fi
|
|
|
|
PROJECT_IS_ARM64=0
|
|
if [ "${PROJECT_BUILD_ARCH}" == "" ]; then
|
|
PROJECT_BUILD_ARCH=x86_64
|
|
elif [ "${PROJECT_BUILD_ARCH}" == "aarch64" ]; then
|
|
PROJECT_IS_ARM64=1
|
|
fi
|
|
|
|
if [ "${PROJECT_IS_MINGW}" == "1" ] && [ "${PROJECT_IS_MINGW_UNIX}" != "1" ]; then
|
|
MSYS=winsymlinks:nativestrict
|
|
fi
|
|
|
|
if [ "${PROJECT_CMAKE_BUILD_TYPE}" == "" ]; then
|
|
PROJECT_CMAKE_BUILD_TYPE=RelWithDebInfo
|
|
fi
|
|
|
|
PROJECT_CMAKE_BUILD_TYPE_LOWER=$(echo "${PROJECT_CMAKE_BUILD_TYPE}" | tr '[:upper:]' '[:lower:]')
|
|
if [ "${PROJECT_CMAKE_BUILD_TYPE_LOWER}" == "release" ]; then
|
|
PROJECT_CMAKE_BUILD_TYPE=RelWithDebInfo
|
|
elif [ "${PROJECT_CMAKE_BUILD_TYPE_LOWER}" == "debug" ]; then
|
|
PROJECT_CMAKE_BUILD_TYPE=Debug
|
|
fi
|
|
|
|
if [ "${PROJECT_STATIC_LINK}" == "ON" ]; then
|
|
PROJECT_LINK_TYPE=static
|
|
PROJECT_REQUIRE_ALPINE=ON
|
|
else
|
|
PROJECT_LINK_TYPE=shared
|
|
PROJECT_REQUIRE_ALPINE=OFF
|
|
fi
|
|
|
|
if [ -f "${SOURCE_DIR}/cmake/versions.cmake" ]; then
|
|
VERSIONS=($(sed -e s/\ /=/g -e s/set\(//g -e s/\)//g "${SOURCE_DIR}/cmake/versions.cmake"))
|
|
|
|
PROJECT_MINGW64_DOCKER_BUILD_ARGS=()
|
|
|
|
for VERSION in "${VERSIONS[@]}"; do
|
|
LOOKUP_NAME=$(echo ${VERSION} | sed s/_VERSION.*// | sed s/GTEST/TESTING/g)
|
|
ENABLE_NAME=PROJECT_ENABLE_${LOOKUP_NAME}
|
|
if [ "${!ENABLE_NAME}" != "OFF" ]; then
|
|
PROJECT_MINGW64_DOCKER_BUILD_ARGS+=("--build-arg ${VERSION}")
|
|
fi
|
|
done
|
|
|
|
PROJECT_MINGW64_DOCKER_BUILD_ARGS=${PROJECT_MINGW64_DOCKER_BUILD_ARGS[*]}
|
|
fi
|
|
|
|
PROJECT_BUILD_DIR=${SOURCE_DIR}/build/${PROJECT_CMAKE_BUILD_TYPE_LOWER}/${PROJECT_LINK_TYPE}
|
|
PROJECT_DIST_DIR=${SOURCE_DIR}/dist/${PROJECT_CMAKE_BUILD_TYPE_LOWER}/${PROJECT_LINK_TYPE}
|
|
|
|
if [ "${PROJECT_IS_MINGW}" == "1" ]; then
|
|
PROJECT_DIST_DIR=${PROJECT_DIST_DIR}/win32
|
|
PROJECT_BUILD_DIR=${PROJECT_BUILD_DIR}/win32
|
|
else
|
|
PROJECT_DIST_DIR=${PROJECT_DIST_DIR}/linux
|
|
PROJECT_BUILD_DIR=${PROJECT_BUILD_DIR}/linux
|
|
fi
|
|
|
|
if [ "${PROJECT_IS_ARM64}" == "1" ]; then
|
|
PROJECT_DIST_DIR=${PROJECT_DIST_DIR}/aarch64
|
|
PROJECT_BUILD_DIR=${PROJECT_BUILD_DIR}/aarch64
|
|
else
|
|
PROJECT_DIST_DIR=${PROJECT_DIST_DIR}/x86_64
|
|
PROJECT_BUILD_DIR=${PROJECT_BUILD_DIR}/x86_64
|
|
fi
|
|
|
|
PROJECT_EXTERNAL_BUILD_ROOT=${PROJECT_BUILD_DIR}/deps
|
|
PROJECT_3RD_PARTY_DIR=${SOURCE_DIR}/support/3rd_party
|
|
|
|
if [ "${PROJECT_ENABLE_OPENSSL}" == "ON" ]; then
|
|
if [ "${PROJECT_IS_MINGW}" == "1" ] && [ "${PROJECT_IS_MINGW_UNIX}" == "1" ]; then
|
|
OPENSSL_ROOT_DIR=/mingw64
|
|
else
|
|
OPENSSL_ROOT_DIR=${PROJECT_EXTERNAL_BUILD_ROOT}
|
|
fi
|
|
fi
|
|
|
|
if [ "${PROJECT_IS_MINGW}" == "1" ] && [ "${PROJECT_IS_MINGW_UNIX}" == "1" ]; then
|
|
PROJECT_TOOLCHAIN_FILE_CMAKE=/cmake_toolchain.cmake
|
|
PROJECT_TOOLCHAIN_FILE_MESON=/meson_cross_file.txt
|
|
PROJECT_CMAKE_OPTS="-DCMAKE_TOOLCHAIN_FILE=${PROJECT_TOOLCHAIN_FILE_CMAKE} ${PROJECT_CMAKE_OPTS}"
|
|
fi
|
|
|
|
if [ "${PROJECT_STATIC_LINK}" == "ON" ]; then
|
|
PROJECT_BUILD_SHARED_LIBS=OFF
|
|
else
|
|
PROJECT_BUILD_SHARED_LIBS=ON
|
|
fi
|
|
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_3RD_PARTY_DIR=${PROJECT_3RD_PARTY_DIR} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_BUILD_ARCH=${PROJECT_BUILD_ARCH} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_BUILD_DIR=${PROJECT_BUILD_DIR} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_BUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_CMAKE_BUILD_TYPE=${PROJECT_CMAKE_BUILD_TYPE} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_BOOST=${PROJECT_ENABLE_BOOST} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_CLI11=${PROJECT_ENABLE_CLI11} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_CPP_HTTPLIB=${PROJECT_ENABLE_CPP_HTTPLIB} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_CURL=${PROJECT_ENABLE_CURL} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_DTL=${PROJECT_ENABLE_DTL} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_FLAC=${PROJECT_ENABLE_FLAC} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_FMT=${PROJECT_ENABLE_FMT} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_FONTCONFIG=${PROJECT_ENABLE_FONTCONFIG} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_FREETYPE2=${PROJECT_ENABLE_FREETYPE2} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_FUSE=${PROJECT_ENABLE_FUSE} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_FZF=${PROJECT_ENABLE_FZF} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_GTKMM=${PROJECT_ENABLE_GTKMM} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_JSON=${PROJECT_ENABLE_JSON} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_LIBBITCOIN_SYSTEM=${PROJECT_ENABLE_LIBBITCOIN_SYSTEM} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_LIBEVENT=${PROJECT_ENABLE_LIBEVENT} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_LIBSODIUM=${PROJECT_ENABLE_LIBSODIUM} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_NUSPELL=${PROJECT_ENABLE_NUSPELL} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_OGG=${PROJECT_ENABLE_OGG} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_OPENAL=${PROJECT_ENABLE_OPENAL} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_OPENSSL=${PROJECT_ENABLE_OPENSSL} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_PUGIXML=${PROJECT_ENABLE_PUGIXML} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_ROCKSDB=${PROJECT_ENABLE_ROCKSDB} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_SAGO_PLATFORM_FOLDERS=${PROJECT_ENABLE_SAGO_PLATFORM_FOLDERS} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_SECP256K1=${PROJECT_ENABLE_SECP256K1} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_SFML=${PROJECT_ENABLE_SFML} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_SPDLOG=${PROJECT_ENABLE_SPDLOG} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_SQLITE=${PROJECT_ENABLE_SQLITE} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_STDUUID=${PROJECT_ENABLE_STDUUID} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_TESTING=${PROJECT_ENABLE_TESTING} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_TPL=${PROJECT_ENABLE_TPL} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_VORBIS=${PROJECT_ENABLE_VORBIS} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_WINFSP=${PROJECT_ENABLE_WINFSP} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_ENABLE_WXWIDGETS=${PROJECT_ENABLE_WXWIDGETS} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_EXTERNAL_BUILD_ROOT=${PROJECT_EXTERNAL_BUILD_ROOT} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_IS_ALPINE=${PROJECT_IS_ALPINE} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_IS_ARM64=${PROJECT_IS_ARM64} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_IS_MINGW=${PROJECT_IS_MINGW} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_IS_MINGW_UNIX=${PROJECT_IS_MINGW_UNIX} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_LINK_TYPE=${PROJECT_LINK_TYPE} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_REQUIRE_ALPINE=${PROJECT_REQUIRE_ALPINE} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_STATIC_LINK=${PROJECT_STATIC_LINK} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_TOOLCHAIN_FILE_CMAKE=${PROJECT_TOOLCHAIN_FILE_CMAKE} ${PROJECT_CMAKE_OPTS}"
|
|
PROJECT_CMAKE_OPTS="-DPROJECT_TOOLCHAIN_FILE_MESON=${PROJECT_TOOLCHAIN_FILE_MESON} ${PROJECT_CMAKE_OPTS}"
|
|
|
|
PKG_CONFIG_PATH="${PROJECT_EXTERNAL_BUILD_ROOT}/lib/pkgconfig:${PROJECT_EXTERNAL_BUILD_ROOT}/lib64/pkgconfig:${PROJECT_EXTERNAL_BUILD_ROOT}/shared/pkgconfig:${PKG_CONFIG_PATH}"
|
|
|
|
if [ "${DISABLE_CREATE_DIRS}" != "1" ]; then
|
|
mkdir -p "${PROJECT_BUILD_DIR}"
|
|
mkdir -p "${PROJECT_DIST_DIR}"
|
|
fi
|
|
|
|
PATH="${PROJECT_EXTERNAL_BUILD_ROOT}/bin:${PATH}"
|
|
|
|
export MSYS
|
|
export NUM_JOBS
|
|
export OPENSSL_ROOT_DIR
|
|
export PATH
|
|
export PKG_CONFIG_PATH
|
|
export PROJECT_3RD_PARTY_DIR
|
|
export PROJECT_APP_LIST
|
|
export PROJECT_APP_NAME
|
|
export PROJECT_BUILD_ARCH
|
|
export PROJECT_BUILD_CLEAN
|
|
export PROJECT_BUILD_DIR
|
|
export PROJECT_BUILD_SHARED_LIBS
|
|
export PROJECT_CMAKE_BUILD_TYPE
|
|
export PROJECT_CMAKE_BUILD_TYPE_LOWER
|
|
export PROJECT_CMAKE_OPTS
|
|
export PROJECT_DIST_DIR
|
|
export PROJECT_ENABLE_BOOST
|
|
export PROJECT_ENABLE_CLI11
|
|
export PROJECT_ENABLE_CPP_HTTPLIB
|
|
export PROJECT_ENABLE_CURL
|
|
export PROJECT_ENABLE_DTL
|
|
export PROJECT_ENABLE_FLAC
|
|
export PROJECT_ENABLE_FMT
|
|
export PROJECT_ENABLE_FONTCONFIG
|
|
export PROJECT_ENABLE_FREETYPE2
|
|
export PROJECT_ENABLE_FUSE
|
|
export PROJECT_ENABLE_FUSEOFF
|
|
export PROJECT_ENABLE_FZF
|
|
export PROJECT_ENABLE_GTKMM
|
|
export PROJECT_ENABLE_JSON
|
|
export PROJECT_ENABLE_LIBBITCOIN_SYSTEM
|
|
export PROJECT_ENABLE_LIBEVENT
|
|
export PROJECT_ENABLE_LIBSODIUM
|
|
export PROJECT_ENABLE_NUSPELL
|
|
export PROJECT_ENABLE_OGG
|
|
export PROJECT_ENABLE_OPENAL
|
|
export PROJECT_ENABLE_OPENSSL
|
|
export PROJECT_ENABLE_PUGIXML
|
|
export PROJECT_ENABLE_ROCKSDB
|
|
export PROJECT_ENABLE_SAGO_PLATFORM_FOLDERS
|
|
export PROJECT_ENABLE_SECP256K1
|
|
export PROJECT_ENABLE_SFML
|
|
export PROJECT_ENABLE_SPDLOG
|
|
export PROJECT_ENABLE_SQLITE
|
|
export PROJECT_ENABLE_STDUUID
|
|
export PROJECT_ENABLE_TESTING
|
|
export PROJECT_ENABLE_TPL
|
|
export PROJECT_ENABLE_VORBIS
|
|
export PROJECT_ENABLE_WINFSP
|
|
export PROJECT_ENABLE_WXWIDGETS
|
|
export PROJECT_EXTERNAL_BUILD_ROOT
|
|
export PROJECT_IS_ALPINE
|
|
export PROJECT_IS_ARM64
|
|
export PROJECT_IS_MINGW
|
|
export PROJECT_IS_MINGW_UNIX
|
|
export PROJECT_LINK_TYPE
|
|
export PROJECT_MINGW64_COPY_DEPENDENCIES
|
|
export PROJECT_MINGW64_DOCKER_BUILD_ARGS
|
|
export PROJECT_MSYS2_PACKAGE_LIST
|
|
export PROJECT_REQUIRE_ALPINE
|
|
export PROJECT_STATIC_LINK
|
|
export PROJECT_TOOLCHAIN_FILE_CMAKE
|
|
export PROJECT_TOOLCHAIN_FILE_MESON
|
|
export SOURCE_DIR
|
|
|
|
echo "-=[Settings]=-"
|
|
echo " App list: ${PROJECT_APP_LIST[*]}"
|
|
echo " Build arch: ${PROJECT_BUILD_ARCH}"
|
|
echo " Build clean: ${PROJECT_BUILD_CLEAN}"
|
|
echo " Build dir: ${PROJECT_BUILD_DIR}"
|
|
echo " Cmake Build type: ${PROJECT_CMAKE_BUILD_TYPE}"
|
|
echo " CMake options: -G\"Unix Makefiles\" ${PROJECT_CMAKE_OPTS}"
|
|
echo " CMake toolchain file: ${PROJECT_TOOLCHAIN_FILE_CMAKE}"
|
|
echo " Dist dir: ${PROJECT_DIST_DIR}"
|
|
echo " External build root: ${PROJECT_EXTERNAL_BUILD_ROOT}"
|
|
echo " Is Alpine: ${PROJECT_IS_ALPINE}"
|
|
echo " Is ARM64: ${PROJECT_IS_ARM64}"
|
|
echo " Is MINGW: ${PROJECT_IS_MINGW}"
|
|
echo " Is MINGW on Unix: ${PROJECT_IS_MINGW_UNIX}"
|
|
echo " Job count: ${NUM_JOBS}"
|
|
echo " Link type: ${PROJECT_LINK_TYPE}"
|
|
echo " Meson toolchain file: ${PROJECT_TOOLCHAIN_FILE_MESON}"
|
|
if [ "${PROJECT_IS_MINGW}" == "1" ] && [ "${PROJECT_IS_MINGW_UNIX}" == "1" ]; then
|
|
echo " MinGW docker build args: ${PROJECT_MINGW64_DOCKER_BUILD_ARGS}"
|
|
fi
|
|
echo " OPENSSL_ROOT_DIR: ${OPENSSL_ROOT_DIR}"
|
|
echo " PATH: ${PATH}"
|
|
echo " PKG_CONFIG_PATH: ${PKG_CONFIG_PATH}"
|
|
echo " Require Alpine: ${PROJECT_REQUIRE_ALPINE}"
|
|
echo " Static link: ${PROJECT_STATIC_LINK}"
|
|
echo " Third-party dir: ${PROJECT_3RD_PARTY_DIR}"
|
|
echo " Unit testing enabled: ${PROJECT_ENABLE_TESTING}"
|
|
echo "-=[Libraries]=-"
|
|
echo " Build shared libraries: ${PROJECT_BUILD_SHARED_LIBS}"
|
|
echo " Enable boost: ${PROJECT_ENABLE_BOOST}"
|
|
echo " Enable CL11: ${PROJECT_ENABLE_CLI11}"
|
|
echo " Enable cpp-httplib: ${PROJECT_ENABLE_CPP_HTTPLIB}"
|
|
echo " Enable curl: ${PROJECT_ENABLE_CURL}"
|
|
echo " Enable DTL: ${PROJECT_ENABLE_DTL}"
|
|
echo " Enable FLAC: ${PROJECT_ENABLE_FLAC}"
|
|
echo " Enable fmt: ${PROJECT_ENABLE_FMT}"
|
|
echo " Enable fontconfig: ${PROJECT_ENABLE_FONTCONFIG}"
|
|
echo " Enable freetype2: ${PROJECT_ENABLE_FREETYPE2}"
|
|
echo " Enable FUSE: ${PROJECT_ENABLE_FUSE}"
|
|
echo " Enable fzf: ${PROJECT_ENABLE_FZF}"
|
|
echo " Enable gtkmm: ${PROJECT_ENABLE_GTKMM}"
|
|
echo " Enable JSON for Modern C++: ${PROJECT_ENABLE_JSON}"
|
|
echo " Enable libbitcoin-system: ${PROJECT_ENABLE_LIBBITCOIN_SYSTEM}"
|
|
echo " Enable libevent: ${PROJECT_ENABLE_LIBEVENT}"
|
|
echo " Enable libsodium: ${PROJECT_ENABLE_LIBSODIUM}"
|
|
echo " Enable nuspell: ${PROJECT_ENABLE_NUSPELL}"
|
|
echo " Enable OGG: ${PROJECT_ENABLE_OGG}"
|
|
echo " Enable OpenAL: ${PROJECT_ENABLE_OPENAL}"
|
|
echo " Enable OpenSSL: ${PROJECT_ENABLE_OPENSSL}"
|
|
echo "Enable Sago Platform Folders: ${PROJECT_ENABLE_SAGO_PLATFORM_FOLDERS}"
|
|
echo " Enable PugiXML: ${PROJECT_ENABLE_PUGIXML}"
|
|
echo " Enable RocksDB: ${PROJECT_ENABLE_ROCKSDB}"
|
|
echo " Enable secp256k1: ${PROJECT_ENABLE_SECP256K1}"
|
|
echo " Enable SFML: ${PROJECT_ENABLE_SFML}"
|
|
echo " Enable spdlog: ${PROJECT_ENABLE_SPDLOG}"
|
|
echo " Enable SQLite: ${PROJECT_ENABLE_SQLITE}"
|
|
echo " Enable stduuid: ${PROJECT_ENABLE_STDUUID}"
|
|
echo " Enable tiny process library: ${PROJECT_ENABLE_TPL}"
|
|
echo " Enable Vorbis: ${PROJECT_ENABLE_VORBIS}"
|
|
echo " Enable WinFSP: ${PROJECT_ENABLE_WINFSP}"
|
|
echo " Enable wxWidgets: ${PROJECT_ENABLE_WXWIDGETS}"
|