11#! /bin/bash
2+
3+ set -e
4+
25log () {
36 echo " ***** $1 *****"
47}
@@ -15,6 +18,8 @@ BUILD_STATIC=false
1518BUILD_UNREAL_ENGINE_4=false
1619C_COMPILER=" clang"
1720CXX_COMPILER=" clang++"
21+ INSTALL_DEPENDENCIES=false
22+ REQUIRE_VERIFIED_DEPENDENCIES=true
1823
1924while [[ $# -gt 0 ]]; do
2025 case $1 in
@@ -35,8 +40,16 @@ while [[ $# -gt 0 ]]; do
3540 BUILD_UNREAL_ENGINE_4=true
3641 shift
3742 ;;
43+ --install-dependencies)
44+ INSTALL_DEPENDENCIES=true
45+ shift
46+ ;;
3847 -sg|--skipaptget)
39- DO_APTGET=false
48+ # NOOP. allow user to specify old --skipaptget args before that became the default
49+ shift
50+ ;;
51+ -sd|--skip-dependency-check)
52+ REQUIRE_VERIFIED_DEPENDENCIES=false
4053 shift
4154 ;;
4255 -st|--static)
5669
5770set -- " ${POSITIONAL_ARGS[@]} " # restore positional parameters
5871
59- if [ " $DO_APTGET " != " false" ]; then
60- sudo hwclock --hctosys
61- sudo apt-get update
62- sudo apt-get install clang
63- sudo apt-get install make
64- sudo apt-get install autoconf
65- sudo apt-get install automake
66- sudo apt-get install libtool
67- sudo apt-get install zlib1g zlib1g-dev
72+ set +e # temporarily disable exit-on-error to provide more graceful handling of dependency installation failures
73+ if [ " $INSTALL_DEPENDENCIES " = " true" ]; then
74+ bash " $SCRIPT_DIR " /install_dependencies.bash
75+ if [ $? -ne 0 ]; then
76+ echo " "
77+ echo " Failed to install dependencies."
78+ exit 1
79+ fi
80+ else
81+ bash " $SCRIPT_DIR " /install_dependencies.bash --check
82+ if [ $? -ne 0 ]; then
83+ if [ " $REQUIRE_VERIFIED_DEPENDENCIES " = true ]; then
84+ echo " "
85+ echo " Some dependencies are missing."
86+ echo " Please run with --install-dependencies to install them or run $SCRIPT_DIR /install_dependencies.bash directly"
87+ exit 1
88+ else
89+ echo " "
90+ echo " Some dependencies are missing."
91+ echo " --skip-dependency-check specified, ignoring and continuing."
92+ echo " "
93+ fi
94+ fi
6895fi
96+ set -e # re-enable exit-on-error after dependency installation check
6997
7098log " CONFIGURATION = ${CONFIGURATION} "
7199log " BUILD SSL = ${BUILD_SSL} "
72100log " BUILD CURL = ${BUILD_CURL} "
73101log " CMakeLists.txt = ${SCRIPT_DIR} "
74- log " CMake output = ${SCRIPT_DIR} /../../Int/CMake /libHttpClient.Linux"
102+ log " CMake output = ${SCRIPT_DIR} /../../Int/x64/ $CONFIGURATION /libHttpClient.Linux"
75103
76104if [ " $BUILD_UNREAL_ENGINE_4 " = true ]; then
77105 log " Unreal Compatibility Enabled"
97125MAKE_PARALLELISM=" -j$( nproc) " # run Make in parallel to speed up the build process
98126if [ " $BUILD_STATIC " = false ]; then
99127 # make libHttpClient shared
100- sudo cmake -S " $SCRIPT_DIR " -B " $SCRIPT_DIR " /../../Int/CMake /libHttpClient.Linux -D CMAKE_BUILD_TYPE=$CONFIGURATION -D CMAKE_C_COMPILER=$C_COMPILER -D CMAKE_CXX_COMPILER=$CXX_COMPILER -D BUILD_SHARED_LIBS=ON
101- sudo make $MAKE_PARALLELISM -C " $SCRIPT_DIR " /../../Int/CMake /libHttpClient.Linux
128+ cmake -S " $SCRIPT_DIR " -B " $SCRIPT_DIR " /../../Int/x64/ $CONFIGURATION /libHttpClient.Linux -D CMAKE_BUILD_TYPE=$CONFIGURATION -D CMAKE_C_COMPILER=$C_COMPILER -D CMAKE_CXX_COMPILER=$CXX_COMPILER -D BUILD_SHARED_LIBS=ON
129+ make $MAKE_PARALLELISM -C " $SCRIPT_DIR " /../../Int/x64/ $CONFIGURATION /libHttpClient.Linux
102130else
103131 # make libHttpClient static
104- sudo cmake -S " $SCRIPT_DIR " -B " $SCRIPT_DIR " /../../Int/CMake /libHttpClient.Linux -D CMAKE_BUILD_TYPE=$CONFIGURATION -D CMAKE_C_COMPILER=$C_COMPILER -D CMAKE_CXX_COMPILER=$CXX_COMPILER -D BUILD_SHARED_LIBS=OFF
105- sudo make $MAKE_PARALLELISM -C " $SCRIPT_DIR " /../../Int/CMake /libHttpClient.Linux
132+ cmake -S " $SCRIPT_DIR " -B " $SCRIPT_DIR " /../../Int/x64/ $CONFIGURATION /libHttpClient.Linux -D CMAKE_BUILD_TYPE=$CONFIGURATION -D CMAKE_C_COMPILER=$C_COMPILER -D CMAKE_CXX_COMPILER=$CXX_COMPILER -D BUILD_SHARED_LIBS=OFF
133+ make $MAKE_PARALLELISM -C " $SCRIPT_DIR " /../../Int/x64/ $CONFIGURATION /libHttpClient.Linux
106134fi
0 commit comments