50 lines
1.4 KiB
Bash
Executable File
50 lines
1.4 KiB
Bash
Executable File
#! /bin/bash
|
|
|
|
# Build type (Debug or Release)
|
|
BUILD_TYPE="$1"
|
|
# where to build protobuf, must be win32 or win64
|
|
OUT_DIR="$2"
|
|
|
|
[ "$OUT_DIR" != "win32" -a "$OUT_DIR" != "win64" -a "$OUT_DIR" != "x86" -a "$OUT_DIR" != "x64" ] && echo "The output dir must be 'Win32', 'Win64', 'x86' or 'x64'" && exit 1
|
|
[ "$BUILD_TYPE" != "Debug" -a "$BUILD_TYPE" != "Release" ] && echo "The build type must be 'Debug' or 'Release'" && exit 1
|
|
|
|
# apt install libssl1.0-dev libssl1.0-dev:i386
|
|
|
|
# My variable to decide if we build x86 or x64 in CMakeLists.txt
|
|
if [ "$OUT_DIR" == "win32" -o "$OUT_DIR" == "x86" ]; then
|
|
custom_arch_var="-DX86=ON"
|
|
else
|
|
custom_arch_var="-DX64=ON"
|
|
fi
|
|
|
|
build_type="-DCMAKE_BUILD_TYPE=${BUILD_TYPE}"
|
|
|
|
build_http="-DHTTP_ONLY=ON"
|
|
build_exe="-DBUILD_CURL_EXE=OFF"
|
|
build_shared="-DBUILD_SHARED_LIBS=OFF"
|
|
build_testing="-DBUILD_TESTING=OFF"
|
|
|
|
args=()
|
|
args+=($build_http)
|
|
args+=($build_exe)
|
|
args+=($build_shared)
|
|
args+=($build_testing)
|
|
args+=($build_type)
|
|
args+=($custom_arch_var)
|
|
|
|
if [ ! -z "$EXTRA_CMAKE_ENV" ]; then
|
|
args+=("-DCURL_STATIC_CRT=ON")
|
|
fi
|
|
|
|
# EXTRA_CMAKE_ENV is set by setup_clang_env.sh to build for windows.
|
|
# You must run setup_clang_env.sh before calling this script if you build for windows.
|
|
|
|
rm -rf "curl/$OUT_DIR" &&
|
|
mkdir "curl/$OUT_DIR" &&
|
|
cd "curl/$OUT_DIR" &&
|
|
echo "cmake -G \"Unix Makefiles\" $EXTRA_CMAKE_ENV \"${args[@]}\" .." &&
|
|
cmake -G "Unix Makefiles" $EXTRA_CMAKE_ENV "${args[@]}" .. &&
|
|
make -j${JOBS-2} || exit 1
|
|
|
|
exit 0
|