build system update
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good

This commit is contained in:
Scott E. Graves 2024-06-07 09:32:43 -05:00
parent 462365dc97
commit 8925704555
3 changed files with 135 additions and 296 deletions

View File

@ -8,141 +8,13 @@ SOURCE_DIR=$(realpath ${SOURCE_DIR})
. "${CURRENT_DIR}/env.sh" "$1" "$2" "$3" "$4" "$5" 1 1>/dev/null 2>&1 . "${CURRENT_DIR}/env.sh" "$1" "$2" "$3" "$4" "$5" 1 1>/dev/null 2>&1
if [ "${PROJECT_ENABLE_BOOST}" == "OFF" ]; then for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do
rm -f ${PROJECT_3RD_PARTY_DIR}/boost_* ENABLE_NAME=PROJECT_ENABLE_${PROJECT_LIBRARY}
fi KEEP_NAME=PROJECT_KEEP_${PROJECT_LIBRARY}
if [ ${!ENABLE_NAME} == "OFF" ] && [ ${!KEEP_NAME} != "1" ]; then
if [ "${PROJECT_ENABLE_CLI11}" == "OFF" ] && [ "${PROJECT_KEEP_CLI11}" != "1" ]; then CLEANUP_LIST=(${PROJECT_CLEANUP[${PROJECT_LIBRARY}]//:/ })
rm -f ${PROJECT_3RD_PARTY_DIR}/CLI11-* for CLEANUP_ITEM in "${CLEANUP_LIST[@]}"; do
fi rm -r support/3rd_party/${CLEANUP_ITEM}
done
if [ "${PROJECT_ENABLE_CPP_HTTPLIB}" == "OFF" ] && [ "${PROJECT_KEEP_HTTPLIB}" != "1" ]; then fi
rm -f ${PROJECT_3RD_PARTY_DIR}/cpp-httplib-* done
fi
if [ "${PROJECT_ENABLE_CURL}" == "OFF" ] && [ "${PROJECT_KEEP_CURL}" != "1" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/curl-*
fi
if [ "${PROJECT_ENABLE_DTL}" == "OFF" ] && [ "${PROJECT_KEEP_DTL}" != "1" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/dtl-*
fi
if [ "${PROJECT_ENABLE_FLAC}" == "OFF" ] && [ "${PROJECT_KEEP_FLAC}" != "1" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/flac-*
fi
if [ "${PROJECT_ENABLE_FMT}" == "OFF" ] && [ "${PROJECT_KEEP_FMT}" != "1" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/fmt-*
fi
if [ "${PROJECT_ENABLE_FONTCONFIG}" == "OFF" ] && [ "${PROJECT_KEEP_FONTCONFIG}" != "1" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/fontconfig-*
fi
if [ "${PROJECT_ENABLE_FREETYPE2}" == "OFF" ] && [ "${PROJECT_KEEP_FREETYPE2}" != "1" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/freetype-*
fi
if [ "${PROJECT_ENABLE_FZF}" == "OFF" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/include/fzf.h
rm -f ${PROJECT_3RD_PARTY_DIR}/src/fzf.c
fi
if [ "${PROJECT_ENABLE_JSON}" == "OFF" ] && [ "${PROJECT_KEEP_JSON}" != "1" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/json-*
fi
if [ "${PROJECT_ENABLE_LIBBITCOIN_SYSTEM}" == "OFF" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/boost_1_76_*
rm -f ${PROJECT_3RD_PARTY_DIR}/libbitcoin-system-*
fi
if [ "${PROJECT_ENABLE_LIBBITCOIN_SYSTEM}" == "ON" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/boost_1_85_*
fi
if [ "${PROJECT_ENABLE_LIBEVENT}" == "OFF" ] && [ "${PROJECT_KEEP_LIBEVENT}" != "1" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/libevent-*
fi
if [ "${PROJECT_ENABLE_LIBSODIUM}" == "OFF" ] && [ "${PROJECT_KEEP_LIBSODIUM}" != "1" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/libsodium-*
rm -f ${PROJECT_3RD_PARTY_DIR}/libsodium_configure.sh
fi
if [ "${PROJECT_ENABLE_NUSPELL}" == "OFF" ] && [ "${PROJECT_KEEP_NUSPELL}" != "1" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/nuspell-*
fi
if [ "${PROJECT_ENABLE_OGG}" == "OFF" ] && [ "${PROJECT_KEEP_OGG}" != "1" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/ogg-*
fi
if [ "${PROJECT_ENABLE_OPENAL}" == "OFF" ] && [ "${PROJECT_KEEP_OPENAL}" != "1" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/openal-*
fi
if [ "${PROJECT_ENABLE_OPENSSL}" == "OFF" ] && [ "${PROJECT_KEEP_OPENSSL}" != "1" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/openssl-*
fi
if [ "${PROJECT_ENABLE_PUGIXML}" == "OFF" ] && [ "${PROJECT_KEEP_PUGIXML}" != "1" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/pugixml-*
fi
if [ "${PROJECT_ENABLE_ROCKSDB}" == "OFF" ] && [ "${PROJECT_KEEP_ROCKSDB}" != "1" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/rocksdb-*
fi
if [ "${PROJECT_ENABLE_SAGO_PLATFORM_FOLDERS}" == "OFF" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/include/platform_folders.hpp
rm -f ${PROJECT_3RD_PARTY_DIR}/src/platform_folders.cpp
fi
if [ "${PROJECT_ENABLE_SECP256K1}" == "OFF" ] && [ "${PROJECT_KEEP_SECP256K1}" != "1" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/secp256k1-*
fi
if [ "${PROJECT_ENABLE_SFML}" == "OFF" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/SFML-*
rm -f ${PROJECT_3RD_PARTY_DIR}/include/RoundedRectangleShape.hpp
rm -f ${PROJECT_3RD_PARTY_DIR}/include/Text2.hpp
rm -f ${PROJECT_3RD_PARTY_DIR}/src/RoundedRectangleShape.cpp
rm -f ${PROJECT_3RD_PARTY_DIR}/src/Text2.cpp
rm -f ${PROJECT_3RD_PARTY_DIR}/SFML_patch.sh
fi
if [ "${PROJECT_ENABLE_SPDLOG}" == "OFF" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/spdlog-*
fi
if [ "${PROJECT_ENABLE_SQLITE}" == "OFF" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/sqlite-*
fi
if [ "${PROJECT_ENABLE_STDUUID}" == "OFF" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/stduuid-*
fi
if [ "${PROJECT_ENABLE_TESTING}" == "OFF" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/googletest-*
fi
if [ "${PROJECT_ENABLE_TPL}" == "OFF" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/tiny-process-library*
fi
if [ "${PROJECT_ENABLE_VORBIS}" == "OFF" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/vorbis-*
rm -f ${PROJECT_3RD_PARTY_DIR}/vorbis_cmakelists_txt.patch
rm -f ${PROJECT_3RD_PARTY_DIR}/vorbis_patch.sh
fi
if [ "${PROJECT_ENABLE_WINFSP}" == "OFF" ]; then
rm -rf ${PROJECT_3RD_PARTY_DIR}/winfsp-*
fi
if [ "${PROJECT_ENABLE_WXWIDGETS}" == "OFF" ] && [ "${PROJECT_KEEP_WXWIDGETS}" != "1" ]; then
rm -f ${PROJECT_3RD_PARTY_DIR}/wxWidgets-*
fi

View File

@ -24,39 +24,18 @@ if [[ -z "${NUM_JOBS}" ]]; then
fi fi
fi fi
PROJECT_ENABLE_BOOST=OFF . "${CURRENT_DIR}/options.sh"
PROJECT_ENABLE_CLI11=OFF
PROJECT_ENABLE_CPP_HTTPLIB=OFF for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do
PROJECT_ENABLE_CURL=OFF ENABLE_NAME=PROJECT_ENABLE_${PROJECT_LIBRARY}
PROJECT_ENABLE_DTL=OFF KEEP_NAME=PROJECT_KEEP_${PROJECT_LIBRARY}
PROJECT_ENABLE_FLAC=OFF if [ "${PROJECT_LIBRARY}" == "TESTING" ]; then
PROJECT_ENABLE_FMT=OFF export ${ENABLE_NAME}=ON
PROJECT_ENABLE_FONTCONFIG=OFF else
PROJECT_ENABLE_FREETYPE2=OFF export ${ENABLE_NAME}=OFF
PROJECT_ENABLE_FUSE=OFF fi
PROJECT_ENABLE_FZF=OFF export ${KEEP_NAME}=0
PROJECT_ENABLE_GTKMM=OFF done
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_APP_LIST=()
PROJECT_CMAKE_OPTS="" PROJECT_CMAKE_OPTS=""
@ -223,39 +202,6 @@ PROJECT_CMAKE_OPTS="-DPROJECT_BUILD_ARCH=${PROJECT_BUILD_ARCH} ${PROJECT_CMAKE_O
PROJECT_CMAKE_OPTS="-DPROJECT_BUILD_DIR=${PROJECT_BUILD_DIR} ${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_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_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_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_ALPINE=${PROJECT_IS_ALPINE} ${PROJECT_CMAKE_OPTS}"
PROJECT_CMAKE_OPTS="-DPROJECT_IS_ARM64=${PROJECT_IS_ARM64} ${PROJECT_CMAKE_OPTS}" PROJECT_CMAKE_OPTS="-DPROJECT_IS_ARM64=${PROJECT_IS_ARM64} ${PROJECT_CMAKE_OPTS}"
@ -267,6 +213,11 @@ PROJECT_CMAKE_OPTS="-DPROJECT_STATIC_LINK=${PROJECT_STATIC_LINK} ${PROJECT_CMAKE
PROJECT_CMAKE_OPTS="-DPROJECT_TOOLCHAIN_FILE_CMAKE=${PROJECT_TOOLCHAIN_FILE_CMAKE} ${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}" PROJECT_CMAKE_OPTS="-DPROJECT_TOOLCHAIN_FILE_MESON=${PROJECT_TOOLCHAIN_FILE_MESON} ${PROJECT_CMAKE_OPTS}"
for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do
ENABLE_NAME=PROJECT_ENABLE_${PROJECT_LIBRARY}
PROJECT_CMAKE_OPTS="${PROJECT_CMAKE_OPTS} -D${ENABLE_NAME}=${!ENABLE_NAME}"
done
PKG_CONFIG_PATH="${PROJECT_EXTERNAL_BUILD_ROOT}/lib/pkgconfig:${PROJECT_EXTERNAL_BUILD_ROOT}/lib64/pkgconfig:${PROJECT_EXTERNAL_BUILD_ROOT}/shared/pkgconfig:${PKG_CONFIG_PATH}" 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 if [ "${DISABLE_CREATE_DIRS}" != "1" ]; then
@ -292,41 +243,6 @@ export PROJECT_CMAKE_BUILD_TYPE
export PROJECT_CMAKE_BUILD_TYPE_LOWER export PROJECT_CMAKE_BUILD_TYPE_LOWER
export PROJECT_CMAKE_OPTS export PROJECT_CMAKE_OPTS
export PROJECT_DIST_DIR 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_ALPINE
export PROJECT_IS_ARM64 export PROJECT_IS_ARM64
export PROJECT_IS_MINGW export PROJECT_IS_MINGW
@ -341,64 +257,44 @@ export PROJECT_TOOLCHAIN_FILE_CMAKE
export PROJECT_TOOLCHAIN_FILE_MESON export PROJECT_TOOLCHAIN_FILE_MESON
export SOURCE_DIR export SOURCE_DIR
for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do
ENABLE_NAME=PROJECT_ENABLE_${PROJECT_LIBRARY}
KEEP_NAME=PROJECT_KEEP_${PROJECT_LIBRARY}
export ${ENABLE_NAME}
export ${KEEP_NAME}
done
echo "-=[Settings]=-" echo "-=[Settings]=-"
echo " App list: ${PROJECT_APP_LIST[*]}" echo " App list: ${PROJECT_APP_LIST[*]}"
echo " Build arch: ${PROJECT_BUILD_ARCH}" echo " Build arch: ${PROJECT_BUILD_ARCH}"
echo " Build clean: ${PROJECT_BUILD_CLEAN}" echo " Build clean: ${PROJECT_BUILD_CLEAN}"
echo " Build dir: ${PROJECT_BUILD_DIR}" echo " Build dir: ${PROJECT_BUILD_DIR}"
echo " Cmake Build type: ${PROJECT_CMAKE_BUILD_TYPE}" echo " Build shared libraries: ${PROJECT_BUILD_SHARED_LIBS}"
echo " CMake options: -G\"Unix Makefiles\" ${PROJECT_CMAKE_OPTS}" echo " CMake options: -G\"Unix Makefiles\" ${PROJECT_CMAKE_OPTS}"
echo " CMake toolchain file: ${PROJECT_TOOLCHAIN_FILE_CMAKE}" echo " CMake toolchain file: ${PROJECT_TOOLCHAIN_FILE_CMAKE}"
echo " Dist dir: ${PROJECT_DIST_DIR}" echo " Cmake Build type: ${PROJECT_CMAKE_BUILD_TYPE}"
echo " External build root: ${PROJECT_EXTERNAL_BUILD_ROOT}" echo " Dist dir: ${PROJECT_DIST_DIR}"
echo " Is Alpine: ${PROJECT_IS_ALPINE}" echo " External build root: ${PROJECT_EXTERNAL_BUILD_ROOT}"
echo " Is ARM64: ${PROJECT_IS_ARM64}" echo " Is ARM64: ${PROJECT_IS_ARM64}"
echo " Is MINGW: ${PROJECT_IS_MINGW}" echo " Is Alpine: ${PROJECT_IS_ALPINE}"
echo " Is MINGW on Unix: ${PROJECT_IS_MINGW_UNIX}" echo " Is MINGW on Unix: ${PROJECT_IS_MINGW_UNIX}"
echo " Job count: ${NUM_JOBS}" echo " Is MINGW: ${PROJECT_IS_MINGW}"
echo " Link type: ${PROJECT_LINK_TYPE}" echo " Job count: ${NUM_JOBS}"
echo " Meson toolchain file: ${PROJECT_TOOLCHAIN_FILE_MESON}" 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 if [ "${PROJECT_IS_MINGW}" == "1" ] && [ "${PROJECT_IS_MINGW_UNIX}" == "1" ]; then
echo " MinGW docker build args: ${PROJECT_MINGW64_DOCKER_BUILD_ARGS}" echo " MinGW docker build args: ${PROJECT_MINGW64_DOCKER_BUILD_ARGS}"
fi fi
echo " OPENSSL_ROOT_DIR: ${OPENSSL_ROOT_DIR}" echo " OPENSSL_ROOT_DIR: ${OPENSSL_ROOT_DIR}"
echo " PATH: ${PATH}" echo " PATH: ${PATH}"
echo " PKG_CONFIG_PATH: ${PKG_CONFIG_PATH}" echo " PKG_CONFIG_PATH: ${PKG_CONFIG_PATH}"
echo " Require Alpine: ${PROJECT_REQUIRE_ALPINE}" echo " Require Alpine: ${PROJECT_REQUIRE_ALPINE}"
echo " Static link: ${PROJECT_STATIC_LINK}" echo " Static link: ${PROJECT_STATIC_LINK}"
echo " Third-party dir: ${PROJECT_3RD_PARTY_DIR}" echo " Third-party dir: ${PROJECT_3RD_PARTY_DIR}"
echo " Unit testing enabled: ${PROJECT_ENABLE_TESTING}" echo " Unit testing enabled: ${PROJECT_ENABLE_TESTING}"
echo "-=[Libraries]=-" echo "-=[Libraries]=-"
echo " Build shared libraries: ${PROJECT_BUILD_SHARED_LIBS}" for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do
echo " Enable boost: ${PROJECT_ENABLE_BOOST}" ENABLE_NAME=PROJECT_ENABLE_${PROJECT_LIBRARY}
echo " Enable CL11: ${PROJECT_ENABLE_CLI11}" KEEP_NAME=PROJECT_KEEP_${PROJECT_LIBRARY}
echo " Enable cpp-httplib: ${PROJECT_ENABLE_CPP_HTTPLIB}" echo " ${ENABLE_NAME}=${!ENABLE_NAME},${!KEEP_NAME}"
echo " Enable curl: ${PROJECT_ENABLE_CURL}" done
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}"

71
scripts/options.sh Executable file
View File

@ -0,0 +1,71 @@
#!/bin/bash
PROJECT_LIBRARIES=(
BOOST
CLI11
CPP_HTTPLIB
CURL
DTL
FLAC
FMT
FONTCONFIG
FREETYPE2
FUSE
FZF
GTKMM
JSON
LIBBITCOIN_SYSTEM
LIBEVENT
LIBSODIUM
NUSPELL
OGG
OPENAL
OPENSSL
PUGIXML
ROCKSDB
SAGO_PLATFORM_FOLDERS
SECP256K1
SFML
SPDLOG
SQLITE
STDUUID
TESTING
TPL
VORBIS
WINFSP
WXWIDGETS
)
declare -A PROJECT_CLEANUP
PROJECT_CLEANUP[BOOST]="boost_*"
PROJECT_CLEANUP[CLI11]="CLI11-*"
PROJECT_CLEANUP[CPP_HTTPLIB]="cpp-httplib-*"
PROJECT_CLEANUP[CURL]="curl-*"
PROJECT_CLEANUP[DTL]="dtl-*"
PROJECT_CLEANUP[FLAC]="flac-*"
PROJECT_CLEANUP[FMT]="fmt-*"
PROJECT_CLEANUP[FONTCONFIG]="fontconfig-*"
PROJECT_CLEANUP[FREETYPE2]="freetype-*"
PROJECT_CLEANUP[FZF]="include/fzf.h:src/fzf.c"
PROJECT_CLEANUP[JSON]="json-*"
PROJECT_CLEANUP[LIBBITCOIN_SYSTEM]="boost_1_76_*:libbitcoin-system-*"
PROJECT_CLEANUP[LIBBITCOIN_SYSTEM_ON]="boost_1_85_*"
PROJECT_CLEANUP[LIBEVENT]="libevent-*"
PROJECT_CLEANUP[LIBSODIUM]="libsodium*"
PROJECT_CLEANUP[NUSPELL]="nuspell-*"
PROJECT_CLEANUP[OGG]="ogg-*"
PROJECT_CLEANUP[OPENAL]="openal-*"
PROJECT_CLEANUP[OPENSSL]="openssl-*"
PROJECT_CLEANUP[PUGIXML]="pugixml-*"
PROJECT_CLEANUP[ROCKSDB]="rocksdb-*"
PROJECT_CLEANUP[SAGO_PLATFORM_FOLDERS]="include/platform_folders.hpp:src/platform_folders.cpp"
PROJECT_CLEANUP[SECP256K1]="secp256k1-*"
PROJECT_CLEANUP[SFML]="SFML*:include/RoundedRectangleShape.hpp:include/Text2.hpp:src/RoundedRectangleShape.cpp:src/Text2.cpp"
PROJECT_CLEANUP[SPDLOG]="spdlog-*"
PROJECT_CLEANUP[SQLITE]="sqlite-*"
PROJECT_CLEANUP[STDUUID]="stduuid-*"
PROJECT_CLEANUP[TESTING]="googletest-*"
PROJECT_CLEANUP[TPL]="tiny-process-library*"
PROJECT_CLEANUP[VORBIS]="vorbis*"
PROJECT_CLEANUP[WINFSP]="winfsp-*"
PROJECT_CLEANUP[WXWIDGETS]="wxWidgets-*"