mirror of
https://github.com/Detanup01/gbe_fork.git
synced 2024-11-30 14:25:36 +08:00
remove unused files
This commit is contained in:
parent
3c5d00f6f1
commit
098d9ec40a
@ -1709,5 +1709,6 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Template License
|
### Template License
|
||||||
License Here
|
License Here
|
||||||
|
695
build_linux.sh
695
build_linux.sh
@ -1,695 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
### make sure to cd to the emu src dir
|
|
||||||
required_files=(
|
|
||||||
"dll/dll.cpp"
|
|
||||||
"dll/steam_client.cpp"
|
|
||||||
"controller/gamepad.c"
|
|
||||||
"sdk/steam/isteamclient.h"
|
|
||||||
)
|
|
||||||
|
|
||||||
for emu_file in "${required_files[@]}"; do
|
|
||||||
if [ ! -f "$emu_file" ]; then
|
|
||||||
echo "[X] Invalid emu directory, change directory to emu's src dir (missing file '$emu_file')" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
BUILD_LIB32=0
|
|
||||||
BUILD_LIB64=0
|
|
||||||
BUILD_EXP_LIB32=0
|
|
||||||
BUILD_EXP_LIB64=0
|
|
||||||
|
|
||||||
BUILD_CLIENT32=0
|
|
||||||
BUILD_CLIENT64=0
|
|
||||||
BUILD_EXPT_CLIENT32=0
|
|
||||||
BUILD_EXPT_CLIENT64=0
|
|
||||||
BUILD_TOOL_CLIENT_LDR=0
|
|
||||||
|
|
||||||
BUILD_TOOL_FIND_ITFS32=0
|
|
||||||
BUILD_TOOL_FIND_ITFS64=0
|
|
||||||
BUILD_TOOL_LOBBY32=0
|
|
||||||
BUILD_TOOL_LOBBY64=0
|
|
||||||
|
|
||||||
BUILD_LIB_NET_SOCKETS_32=0
|
|
||||||
BUILD_LIB_NET_SOCKETS_64=0
|
|
||||||
|
|
||||||
# < 0: deduce, > 1: force
|
|
||||||
PARALLEL_THREADS_OVERRIDE=-1
|
|
||||||
|
|
||||||
CMD_BUILD_STR=''
|
|
||||||
|
|
||||||
# 0 = release, 1 = debug, otherwise error
|
|
||||||
BUILD_TYPE=-1
|
|
||||||
|
|
||||||
CLEAN_BUILD=0
|
|
||||||
|
|
||||||
VERBOSE=0
|
|
||||||
|
|
||||||
for (( i=1; i<=$#; i++ )); do
|
|
||||||
var="${!i}"
|
|
||||||
if [[ "$var" = "-j" ]]; then
|
|
||||||
i=$((i+1))
|
|
||||||
PARALLEL_THREADS_OVERRIDE="${!i}"
|
|
||||||
[[ "$PARALLEL_THREADS_OVERRIDE" =~ ^[0-9]+$ ]] || {
|
|
||||||
echo "[X] Invalid arg after -j, expected a number" >&2;
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
#echo "[?] Overriding parralel build jobs count with $PARALLEL_THREADS_OVERRIDE"
|
|
||||||
elif [[ "$var" = "+build_str" ]]; then
|
|
||||||
i=$((i+1))
|
|
||||||
CMD_BUILD_STR="${!i}"
|
|
||||||
[[ -z "$CMD_BUILD_STR" ]] && {
|
|
||||||
echo "[X] Expected a build string" >&2;
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
elif [[ "$var" = "+lib-32" ]]; then
|
|
||||||
BUILD_LIB32=1
|
|
||||||
elif [[ "$var" = "+lib-64" ]]; then
|
|
||||||
BUILD_LIB64=1
|
|
||||||
elif [[ "$var" = "+exp-lib-32" ]]; then
|
|
||||||
BUILD_EXP_LIB32=1
|
|
||||||
elif [[ "$var" = "+exp-lib-64" ]]; then
|
|
||||||
BUILD_EXP_LIB64=1
|
|
||||||
elif [[ "$var" = "+client-32" ]]; then
|
|
||||||
BUILD_CLIENT32=1
|
|
||||||
elif [[ "$var" = "+client-64" ]]; then
|
|
||||||
BUILD_CLIENT64=1
|
|
||||||
elif [[ "$var" = "+exp-client-32" ]]; then
|
|
||||||
BUILD_EXPT_CLIENT32=1
|
|
||||||
elif [[ "$var" = "+exp-client-64" ]]; then
|
|
||||||
BUILD_EXPT_CLIENT64=1
|
|
||||||
elif [[ "$var" = "+tool-clientldr" ]]; then
|
|
||||||
BUILD_TOOL_CLIENT_LDR=1
|
|
||||||
elif [[ "$var" = "+tool-itf-32" ]]; then
|
|
||||||
BUILD_TOOL_FIND_ITFS32=1
|
|
||||||
elif [[ "$var" = "+tool-itf-64" ]]; then
|
|
||||||
BUILD_TOOL_FIND_ITFS64=1
|
|
||||||
elif [[ "$var" = "+tool-lobby-32" ]]; then
|
|
||||||
BUILD_TOOL_LOBBY32=1
|
|
||||||
elif [[ "$var" = "+tool-lobby-64" ]]; then
|
|
||||||
BUILD_TOOL_LOBBY64=1
|
|
||||||
elif [[ "$var" = "+lib-netsockets-32" ]]; then
|
|
||||||
BUILD_LIB_NET_SOCKETS_32=1
|
|
||||||
elif [[ "$var" = "+lib-netsockets-64" ]]; then
|
|
||||||
BUILD_LIB_NET_SOCKETS_64=1
|
|
||||||
elif [[ "$var" = "-verbose" ]]; then
|
|
||||||
VERBOSE=1
|
|
||||||
elif [[ "$var" = "clean" ]]; then
|
|
||||||
CLEAN_BUILD=1
|
|
||||||
elif [[ "$var" = "release" ]]; then
|
|
||||||
BUILD_TYPE=0
|
|
||||||
elif [[ "$var" = "debug" ]]; then
|
|
||||||
BUILD_TYPE=1
|
|
||||||
else
|
|
||||||
echo "[X] Invalid arg: $var" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# use 70%
|
|
||||||
build_threads="$(( $(getconf _NPROCESSORS_ONLN 2>/dev/null || echo 0) * 70 / 100 ))"
|
|
||||||
[[ $PARALLEL_THREADS_OVERRIDE -gt 0 ]] && build_threads="$PARALLEL_THREADS_OVERRIDE"
|
|
||||||
[[ $build_threads -lt 1 ]] && build_threads=1
|
|
||||||
|
|
||||||
# build type
|
|
||||||
optimize_level=""
|
|
||||||
dbg_level=""
|
|
||||||
dbg_defs=""
|
|
||||||
linker_strip_dbg_symbols=''
|
|
||||||
build_folder=""
|
|
||||||
if [[ "$BUILD_TYPE" = "0" ]]; then
|
|
||||||
optimize_level="-O2"
|
|
||||||
dbg_level="-g0"
|
|
||||||
dbg_defs="-DEMU_RELEASE_BUILD -DNDEBUG"
|
|
||||||
linker_strip_dbg_symbols='-Wl,-S'
|
|
||||||
build_folder="release"
|
|
||||||
elif [[ "$BUILD_TYPE" = "1" ]]; then
|
|
||||||
optimize_level="-Og"
|
|
||||||
dbg_level="-g3"
|
|
||||||
dbg_defs=""
|
|
||||||
linker_strip_dbg_symbols=""
|
|
||||||
build_folder="debug"
|
|
||||||
else
|
|
||||||
echo "[X] You must specify any of: [release debug]" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
build_root_dir="build/linux/$build_folder"
|
|
||||||
build_root_32="$build_root_dir/x32"
|
|
||||||
build_root_64="$build_root_dir/x64"
|
|
||||||
build_root_experimental="$build_root_dir/experimental"
|
|
||||||
build_root_tools="$build_root_dir/tools"
|
|
||||||
|
|
||||||
# common stuff
|
|
||||||
deps_dir="build/deps/linux"
|
|
||||||
libs_dir="libs"
|
|
||||||
tools_dir='tools'
|
|
||||||
build_temp_dir="build/tmp/linux"
|
|
||||||
protoc_out_dir="dll/proto_gen/linux"
|
|
||||||
third_party_dir="third-party"
|
|
||||||
third_party_build_dir="$third_party_dir/build/linux"
|
|
||||||
|
|
||||||
protoc_exe_32="$deps_dir/protobuf/install32/bin/protoc"
|
|
||||||
protoc_exe_64="$deps_dir/protobuf/install64/bin/protoc"
|
|
||||||
|
|
||||||
parallel_exe="$third_party_build_dir/rush/rush"
|
|
||||||
|
|
||||||
# https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html
|
|
||||||
common_compiler_args="-std=c++17 -fvisibility=hidden -fexceptions -fno-jump-tables -fno-char8_t"
|
|
||||||
|
|
||||||
# third party dependencies (include folder + folder containing .a file)
|
|
||||||
ssq_inc="$deps_dir/libssq/include"
|
|
||||||
ssq_lib32="$deps_dir/libssq/build32"
|
|
||||||
ssq_lib64="$deps_dir/libssq/build64"
|
|
||||||
|
|
||||||
curl_inc32="$deps_dir/curl/install32/include"
|
|
||||||
curl_inc64="$deps_dir/curl/install64/include"
|
|
||||||
curl_lib32="$deps_dir/curl/install32/lib"
|
|
||||||
curl_lib64="$deps_dir/curl/install64/lib"
|
|
||||||
|
|
||||||
protob_inc32="$deps_dir/protobuf/install32/include"
|
|
||||||
protob_inc64="$deps_dir/protobuf/install64/include"
|
|
||||||
protob_lib32="$deps_dir/protobuf/install32/lib"
|
|
||||||
protob_lib64="$deps_dir/protobuf/install64/lib"
|
|
||||||
|
|
||||||
zlib_inc32="$deps_dir/zlib/install32/include"
|
|
||||||
zlib_inc64="$deps_dir/zlib/install64/include"
|
|
||||||
zlib_lib32="$deps_dir/zlib/install32/lib"
|
|
||||||
zlib_lib64="$deps_dir/zlib/install64/lib"
|
|
||||||
|
|
||||||
mbedtls_inc32="$deps_dir/mbedtls/install32/include"
|
|
||||||
mbedtls_inc64="$deps_dir/mbedtls/install64/include"
|
|
||||||
mbedtls_lib32="$deps_dir/mbedtls/install32/lib"
|
|
||||||
mbedtls_lib64="$deps_dir/mbedtls/install64/lib"
|
|
||||||
|
|
||||||
overlay_inc32="$deps_dir/ingame_overlay/install32/include"
|
|
||||||
overlay_inc64="$deps_dir/ingame_overlay/install64/include"
|
|
||||||
overlay_lib32="$deps_dir/ingame_overlay/install32/lib"
|
|
||||||
overlay_sys_lib32="$deps_dir/ingame_overlay/deps/System/install32/lib"
|
|
||||||
overlay_detour_lib32="$deps_dir/ingame_overlay/deps/mini_detour/install32/lib"
|
|
||||||
overlay_lib64="$deps_dir/ingame_overlay/install64/lib"
|
|
||||||
overlay_sys_lib64="$deps_dir/ingame_overlay/deps/System/install64/lib"
|
|
||||||
overlay_detour_lib64="$deps_dir/ingame_overlay/deps/mini_detour/install64/lib"
|
|
||||||
|
|
||||||
# directories to use for #include
|
|
||||||
release_incs_both=(
|
|
||||||
"$ssq_inc"
|
|
||||||
"$libs_dir"
|
|
||||||
"$protoc_out_dir"
|
|
||||||
"$libs_dir/utfcpp"
|
|
||||||
"controller"
|
|
||||||
"dll"
|
|
||||||
"sdk"
|
|
||||||
"overlay_experimental"
|
|
||||||
"crash_printer"
|
|
||||||
"helpers"
|
|
||||||
)
|
|
||||||
release_incs32=(
|
|
||||||
"${release_incs_both[@]}"
|
|
||||||
"$curl_inc32"
|
|
||||||
"$protob_inc32"
|
|
||||||
"$zlib_inc32"
|
|
||||||
"$mbedtls_inc32"
|
|
||||||
)
|
|
||||||
release_incs64=(
|
|
||||||
"${release_incs_both[@]}"
|
|
||||||
"$curl_inc64"
|
|
||||||
"$protob_inc64"
|
|
||||||
"$zlib_inc64"
|
|
||||||
"$mbedtls_inc64"
|
|
||||||
)
|
|
||||||
|
|
||||||
# directories where libraries (.a or .so) will be looked up
|
|
||||||
release_libs_dir32=(
|
|
||||||
"$ssq_lib32"
|
|
||||||
"$curl_lib32"
|
|
||||||
"$protob_lib32"
|
|
||||||
"$zlib_lib32"
|
|
||||||
"$mbedtls_lib32"
|
|
||||||
|
|
||||||
"$overlay_lib32"
|
|
||||||
"$overlay_sys_lib32"
|
|
||||||
"$overlay_detour_lib32"
|
|
||||||
)
|
|
||||||
release_libs_dir64=(
|
|
||||||
"$ssq_lib64"
|
|
||||||
"$curl_lib64"
|
|
||||||
"$protob_lib64"
|
|
||||||
"$zlib_lib64"
|
|
||||||
"$mbedtls_lib64"
|
|
||||||
|
|
||||||
"$overlay_lib64"
|
|
||||||
"$overlay_sys_lib64"
|
|
||||||
"$overlay_detour_lib64"
|
|
||||||
)
|
|
||||||
|
|
||||||
# libraries to link with, either static ".a" or dynamic ".so" (name only)
|
|
||||||
# if it's called libXYZ.a, then only write "XYZ"
|
|
||||||
# for static libs make sure to build a PIC lib
|
|
||||||
# each will be prefixed with -l, ex: -lpthread
|
|
||||||
release_libs=(
|
|
||||||
"pthread"
|
|
||||||
"dl"
|
|
||||||
"ssq"
|
|
||||||
"z" # libz library
|
|
||||||
"curl"
|
|
||||||
"protobuf-lite"
|
|
||||||
"mbedcrypto"
|
|
||||||
)
|
|
||||||
|
|
||||||
# common source files used everywhere, just for convinience, you still have to provide a complete list later
|
|
||||||
release_src=(
|
|
||||||
"dll/*.cpp"
|
|
||||||
"$protoc_out_dir/*.cc"
|
|
||||||
"crash_printer/linux.cpp"
|
|
||||||
"helpers/common_helpers.cpp"
|
|
||||||
)
|
|
||||||
|
|
||||||
emu_build_string="$CMD_BUILD_STR"
|
|
||||||
[[ -z "$emu_build_string" ]] && {
|
|
||||||
emu_build_string="$(date +'%m%d%Y-%H%M')"
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://gcc.gnu.org/onlinedocs/gcc/Preprocessor-Options.html
|
|
||||||
# additional #defines
|
|
||||||
common_defs="-DGNUC -DUTF_CPP_CPLUSPLUS=201703L -DCURL_STATICLIB -D'EMU_BUILD_STRING=$emu_build_string'"
|
|
||||||
release_defs="$dbg_defs $common_defs"
|
|
||||||
|
|
||||||
# errors to ignore during build
|
|
||||||
release_ignore_warn="-Wno-switch"
|
|
||||||
|
|
||||||
[ ! -d "$deps_dir" ] && {
|
|
||||||
echo "[X] Dependencies dir \"$deps_dir\" was not found" >&2;
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
[ ! -f "$protoc_exe_32" ] && {
|
|
||||||
echo "[X] protobuff compiler wasn't found - 32" >&2;
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
[ ! -f "$protoc_exe_64" ] && {
|
|
||||||
echo "[X] protobuff compiler wasn't found - 64" >&2;
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
[ ! -f "$parallel_exe" ] && {
|
|
||||||
echo "[X] tool to run parallel compilation jobs '$parallel_exe' wasn't found" >&2;
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
chmod 777 "$parallel_exe"
|
|
||||||
|
|
||||||
echo "[?] All build operations will use $build_threads parallel jobs"
|
|
||||||
|
|
||||||
last_code=0
|
|
||||||
|
|
||||||
empty_arr=()
|
|
||||||
|
|
||||||
function build_for () {
|
|
||||||
|
|
||||||
local is_32_build=$( [[ "$1" != 0 ]] && { echo 1; } || { echo 0; } )
|
|
||||||
local is_exe=$( [[ "$2" != 0 ]] && { echo 1; } || { echo 0; } )
|
|
||||||
local out_filepath="${3:?'missing output filepath'}"
|
|
||||||
local -n all_src=$4
|
|
||||||
local -n extra_inc_dirs=$5
|
|
||||||
local extra_defs="$6"
|
|
||||||
local -n extra_libs=$7
|
|
||||||
|
|
||||||
[[ "${#all_src[@]}" = "0" ]] && {
|
|
||||||
echo [X] "No source files specified" >&2;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html
|
|
||||||
local cpiler_m32=''
|
|
||||||
[[ $is_32_build = 1 ]] && cpiler_m32='-m32'
|
|
||||||
|
|
||||||
# https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html
|
|
||||||
local cpiler_pic_pie='-fPIC'
|
|
||||||
[[ $is_exe = 1 ]] && cpiler_pic_pie='-fPIE'
|
|
||||||
|
|
||||||
# https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html
|
|
||||||
# https://www.baeldung.com/linux/library-convert-static-to-shared
|
|
||||||
local linker_pic_pie='-shared'
|
|
||||||
[[ $is_exe = 1 ]] && linker_pic_pie='-pie'
|
|
||||||
|
|
||||||
local tmp_work_dir="${out_filepath##*/}"
|
|
||||||
tmp_work_dir="$build_temp_dir/${tmp_work_dir%.*}_$is_32_build"
|
|
||||||
echo " -- Cleaning compilation directory '$tmp_work_dir/'"
|
|
||||||
rm -f -r "$tmp_work_dir"
|
|
||||||
mkdir -p "$tmp_work_dir" || {
|
|
||||||
echo [X] "Failed to create compilation directory" >&2;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
local build_cmds=()
|
|
||||||
local -A objs_dirs=()
|
|
||||||
for src_file in $( echo "${all_src[@]}" ); do
|
|
||||||
[[ -f "$src_file" ]] || {
|
|
||||||
echo "[X] source file "$src_file" wasn't found" >&2;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://stackoverflow.com/a/9559024
|
|
||||||
local obj_dir=$( [[ -d "${src_file%/*}" ]] && echo "${src_file%/*}" || echo '.' )
|
|
||||||
obj_dir="$tmp_work_dir/$obj_dir"
|
|
||||||
|
|
||||||
local obj_name="${src_file##*/}"
|
|
||||||
obj_name="${obj_name%.*}.o"
|
|
||||||
|
|
||||||
build_cmds+=("$src_file<>$obj_dir/$obj_name")
|
|
||||||
objs_dirs["$obj_dir"]="$obj_dir"
|
|
||||||
|
|
||||||
mkdir -p "$obj_dir"
|
|
||||||
done
|
|
||||||
|
|
||||||
[[ "${#build_cmds[@]}" = "0" ]] && {
|
|
||||||
echo [X] "No valid source files were found" >&2;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
local target_incs=()
|
|
||||||
local target_libs_dirs=()
|
|
||||||
if [[ $is_32_build = 1 ]]; then
|
|
||||||
target_incs=("${release_incs32[@]}")
|
|
||||||
target_libs_dirs=("${release_libs_dir32[@]}")
|
|
||||||
else
|
|
||||||
target_incs=("${release_incs64[@]}")
|
|
||||||
target_libs_dirs=("${release_libs_dir64[@]}")
|
|
||||||
fi
|
|
||||||
target_incs=(
|
|
||||||
"${target_incs[@]}"
|
|
||||||
"${extra_inc_dirs[@]}"
|
|
||||||
)
|
|
||||||
# wrap each -ImyIncDir with single quotes -> '-ImyIncDir'
|
|
||||||
target_incs=("${target_incs[@]/#/\'-I}")
|
|
||||||
target_incs=("${target_incs[@]/%/\'}")
|
|
||||||
|
|
||||||
echo " -- Compiling object files with $build_threads parallel jobs inside directory '$tmp_work_dir/'"
|
|
||||||
local build_cmd="clang++ -c -x c++ $common_compiler_args $cpiler_pic_pie $cpiler_m32 $optimize_level $dbg_level $release_ignore_warn $release_defs $extra_defs ${target_incs[@]} '{1}' '-o{2}'"
|
|
||||||
|
|
||||||
if [[ $VERBOSE = 1 ]]; then
|
|
||||||
printf '%s\n' "${build_cmds[@]}" | "$parallel_exe" --dry-run -j$build_threads -d '<>' -k "$build_cmd"
|
|
||||||
echo;
|
|
||||||
fi
|
|
||||||
|
|
||||||
printf '%s\n' "${build_cmds[@]}" | "$parallel_exe" -j$build_threads -d '<>' -k "$build_cmd"
|
|
||||||
exit_code=$?
|
|
||||||
echo " -- Exit code = $exit_code"
|
|
||||||
echo; echo;
|
|
||||||
sleep 1
|
|
||||||
[[ $exit_code = 0 ]] || {
|
|
||||||
rm -f -r "$tmp_work_dir";
|
|
||||||
sleep 1
|
|
||||||
return $exit_code;
|
|
||||||
}
|
|
||||||
|
|
||||||
echo " -- Linking all object files from '$tmp_work_dir/' to produce '$out_filepath'"
|
|
||||||
local obj_files=()
|
|
||||||
for obj_file in $(echo "${objs_dirs[@]/%//*.o}" ); do
|
|
||||||
[[ -f "$obj_file" ]] && obj_files+=("$obj_file")
|
|
||||||
done
|
|
||||||
# if no files were added
|
|
||||||
[[ "${#obj_files[@]}" -gt 0 ]] || {
|
|
||||||
echo "[X] No files to link" >&2;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
local out_dir="${out_filepath%/*}"
|
|
||||||
[[ "$out_dir" = "$out_filepath" ]] && out_dir='.'
|
|
||||||
mkdir -p "$out_dir"
|
|
||||||
|
|
||||||
local target_libs=(
|
|
||||||
"${release_libs[@]}"
|
|
||||||
"${extra_libs[@]}"
|
|
||||||
)
|
|
||||||
|
|
||||||
# https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/developer_guide/gcc-using-libraries#gcc-using-libraries_using-both-static-dynamic-library-gcc
|
|
||||||
# https://linux.die.net/man/1/ld
|
|
||||||
if [[ $VERBOSE = 1 ]]; then
|
|
||||||
echo "clang++ $common_compiler_args $cpiler_pic_pie $cpiler_m32 $optimize_level $dbg_level $linker_pic_pie $linker_strip_dbg_symbols -o" "$out_filepath" "${obj_files[@]}" "${target_libs_dirs[@]/#/-L}" "-Wl,--whole-archive -Wl,-Bstatic" "${target_libs[@]/#/-l}" "-Wl,-Bdynamic -Wl,--no-whole-archive -Wl,--exclude-libs,ALL"
|
|
||||||
echo;
|
|
||||||
fi
|
|
||||||
|
|
||||||
clang++ $common_compiler_args $cpiler_pic_pie $cpiler_m32 $optimize_level $dbg_level $linker_pic_pie $linker_strip_dbg_symbols -o "$out_filepath" "${obj_files[@]}" "${target_libs_dirs[@]/#/-L}" -Wl,--whole-archive -Wl,-Bstatic "${target_libs[@]/#/-l}" -Wl,-Bdynamic -Wl,--no-whole-archive -Wl,--exclude-libs,ALL
|
|
||||||
exit_code=$?
|
|
||||||
echo " -- Exit code = $exit_code"
|
|
||||||
echo; echo;
|
|
||||||
rm -f -r "$tmp_work_dir"
|
|
||||||
sleep 1
|
|
||||||
return $exit_code
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function cleanup () {
|
|
||||||
rm -f -r "$build_temp_dir"
|
|
||||||
}
|
|
||||||
|
|
||||||
if [[ "$CLEAN_BUILD" = "1" ]]; then
|
|
||||||
echo // cleaning previous build
|
|
||||||
[[ -d "$build_root_dir" ]] && rm -f -r "$build_root_dir"
|
|
||||||
echo; echo;
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
## tools
|
|
||||||
if [[ "$BUILD_TOOL_CLIENT_LDR" = "1" ]]; then
|
|
||||||
[[ -d "$build_root_tools/steamclient_loader/" ]] || mkdir -p "$build_root_tools/steamclient_loader/"
|
|
||||||
cp -f "$tools_dir"/steamclient_loader/linux/* "$build_root_tools/steamclient_loader/"
|
|
||||||
echo; echo;
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
### x32 build
|
|
||||||
cleanup
|
|
||||||
|
|
||||||
echo // invoking protobuf compiler - 32
|
|
||||||
rm -f -r "$protoc_out_dir"
|
|
||||||
mkdir -p "$protoc_out_dir"
|
|
||||||
"$protoc_exe_32" ./dll/*.proto -I./dll/ --cpp_out="$protoc_out_dir/"
|
|
||||||
last_code=$((last_code + $?))
|
|
||||||
echo; echo;
|
|
||||||
|
|
||||||
|
|
||||||
if [[ "$BUILD_LIB32" = "1" ]]; then
|
|
||||||
echo // building shared lib libsteam_api.so - 32
|
|
||||||
all_src_files=(
|
|
||||||
"${release_src[@]}"
|
|
||||||
"controller/*.c"
|
|
||||||
)
|
|
||||||
build_for 1 0 "$build_root_32/libsteam_api.so" all_src_files empty_arr '-DCONTROLLER_SUPPORT' empty_arr
|
|
||||||
last_code=$((last_code + $?))
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$BUILD_CLIENT32" = "1" ]]; then
|
|
||||||
echo // building shared lib steamclient.so - 32
|
|
||||||
all_src_files=(
|
|
||||||
"${release_src[@]}"
|
|
||||||
"controller/*.c"
|
|
||||||
)
|
|
||||||
build_for 1 0 "$build_root_32/steamclient.so" all_src_files empty_arr '-DCONTROLLER_SUPPORT -DSTEAMCLIENT_DLL' empty_arr
|
|
||||||
last_code=$((last_code + $?))
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$BUILD_EXP_LIB32" = "1" ]]; then
|
|
||||||
echo // building shared lib experimental libsteam_api.so - 32
|
|
||||||
all_src_files=(
|
|
||||||
"${release_src[@]}"
|
|
||||||
"controller/*.c"
|
|
||||||
"overlay_experimental/*.cpp"
|
|
||||||
)
|
|
||||||
extra_incs=(
|
|
||||||
"$overlay_inc32"
|
|
||||||
)
|
|
||||||
extra_link_libs=(
|
|
||||||
"ingame_overlay"
|
|
||||||
"system" # ingame_overlay dependency
|
|
||||||
"mini_detour" # ingame_overlay dependency
|
|
||||||
)
|
|
||||||
build_for 1 0 "$build_root_experimental/x32/libsteam_api.so" all_src_files extra_incs '-DCONTROLLER_SUPPORT -DEMU_OVERLAY -DImTextureID=ImU64' extra_link_libs
|
|
||||||
last_code=$((last_code + $?))
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$BUILD_EXPT_CLIENT32" = "1" ]]; then
|
|
||||||
echo // building shared lib experimental steamclient.so - 32
|
|
||||||
all_src_files=(
|
|
||||||
"${release_src[@]}"
|
|
||||||
"controller/*.c"
|
|
||||||
"overlay_experimental/*.cpp"
|
|
||||||
)
|
|
||||||
extra_incs=(
|
|
||||||
"$overlay_inc32"
|
|
||||||
)
|
|
||||||
extra_link_libs=(
|
|
||||||
"ingame_overlay"
|
|
||||||
"system" # ingame_overlay dependency
|
|
||||||
"mini_detour" # ingame_overlay dependency
|
|
||||||
)
|
|
||||||
build_for 1 0 "$build_root_experimental/x32/steamclient.so" all_src_files extra_incs '-DCONTROLLER_SUPPORT -DSTEAMCLIENT_DLL -DEMU_OVERLAY -DImTextureID=ImU64' extra_link_libs
|
|
||||||
last_code=$((last_code + $?))
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$BUILD_TOOL_LOBBY32" = "1" ]]; then
|
|
||||||
echo // building executable lobby_connect_x32 - 32
|
|
||||||
all_src_files=(
|
|
||||||
"${release_src[@]}"
|
|
||||||
"$tools_dir/lobby_connect/lobby_connect.cpp"
|
|
||||||
)
|
|
||||||
build_for 1 1 "$build_root_tools/lobby_connect/lobby_connect_x32" all_src_files empty_arr '-DNO_DISK_WRITES -DLOBBY_CONNECT' empty_arr
|
|
||||||
last_code=$((last_code + $?))
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$BUILD_TOOL_FIND_ITFS32" = "1" ]]; then
|
|
||||||
echo // building executable generate_interfaces_file_x32 - 32
|
|
||||||
all_src_files=(
|
|
||||||
"$tools_dir/generate_interfaces/generate_interfaces.cpp"
|
|
||||||
)
|
|
||||||
build_for 1 1 "$build_root_tools/find_interfaces/generate_interfaces_file_x32" all_src_files empty_arr '' empty_arr
|
|
||||||
last_code=$((last_code + $?))
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$BUILD_LIB_NET_SOCKETS_32" = "1" ]]; then
|
|
||||||
echo // building shared lib steamnetworkingsockets.so - 32
|
|
||||||
all_src_files=(
|
|
||||||
"networking_sockets_lib/steamnetworkingsockets.cpp"
|
|
||||||
)
|
|
||||||
build_for 1 0 "$build_root_dir/networking_sockets_lib/steamnetworkingsockets.so" all_src_files empty_arr '' empty_arr
|
|
||||||
last_code=$((last_code + $?))
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
### x64 build
|
|
||||||
cleanup
|
|
||||||
|
|
||||||
echo // invoking protobuf compiler - 64
|
|
||||||
rm -f -r "$protoc_out_dir"
|
|
||||||
mkdir -p "$protoc_out_dir"
|
|
||||||
"$protoc_exe_64" ./dll/*.proto -I./dll/ --cpp_out="$protoc_out_dir/"
|
|
||||||
last_code=$((last_code + $?))
|
|
||||||
echo; echo;
|
|
||||||
|
|
||||||
if [[ "$BUILD_LIB64" = "1" ]]; then
|
|
||||||
echo // building shared lib libsteam_api.so - 64
|
|
||||||
all_src_files=(
|
|
||||||
"${release_src[@]}"
|
|
||||||
"controller/*.c"
|
|
||||||
)
|
|
||||||
build_for 0 0 "$build_root_64/libsteam_api.so" all_src_files empty_arr '-DCONTROLLER_SUPPORT' empty_arr
|
|
||||||
last_code=$((last_code + $?))
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$BUILD_CLIENT64" = "1" ]]; then
|
|
||||||
echo // building shared lib steamclient.so - 64
|
|
||||||
all_src_files=(
|
|
||||||
"${release_src[@]}"
|
|
||||||
"controller/*.c"
|
|
||||||
)
|
|
||||||
build_for 0 0 "$build_root_64/steamclient.so" all_src_files empty_arr '-DCONTROLLER_SUPPORT -DSTEAMCLIENT_DLL' empty_arr
|
|
||||||
last_code=$((last_code + $?))
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$BUILD_EXP_LIB64" = "1" ]]; then
|
|
||||||
echo // building shared lib experimental libsteam_api.so - 64
|
|
||||||
all_src_files=(
|
|
||||||
"${release_src[@]}"
|
|
||||||
"controller/*.c"
|
|
||||||
"overlay_experimental/*.cpp"
|
|
||||||
)
|
|
||||||
extra_incs=(
|
|
||||||
"$overlay_inc64"
|
|
||||||
)
|
|
||||||
extra_link_libs=(
|
|
||||||
"ingame_overlay"
|
|
||||||
"system" # ingame_overlay dependency
|
|
||||||
"mini_detour" # ingame_overlay dependency
|
|
||||||
)
|
|
||||||
build_for 0 0 "$build_root_experimental/x64/libsteam_api.so" all_src_files extra_incs '-DCONTROLLER_SUPPORT -DEMU_OVERLAY -DImTextureID=ImU64' extra_link_libs
|
|
||||||
last_code=$((last_code + $?))
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$BUILD_EXPT_CLIENT64" = "1" ]]; then
|
|
||||||
echo // building shared lib experimental steamclient.so - 64
|
|
||||||
all_src_files=(
|
|
||||||
"${release_src[@]}"
|
|
||||||
"controller/*.c"
|
|
||||||
"overlay_experimental/*.cpp"
|
|
||||||
)
|
|
||||||
extra_incs=(
|
|
||||||
"$overlay_inc64"
|
|
||||||
)
|
|
||||||
extra_link_libs=(
|
|
||||||
"ingame_overlay"
|
|
||||||
"system" # ingame_overlay dependency
|
|
||||||
"mini_detour" # ingame_overlay dependency
|
|
||||||
)
|
|
||||||
build_for 0 0 "$build_root_experimental/x64/steamclient.so" all_src_files extra_incs '-DCONTROLLER_SUPPORT -DSTEAMCLIENT_DLL -DEMU_OVERLAY -DImTextureID=ImU64' extra_link_libs
|
|
||||||
last_code=$((last_code + $?))
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$BUILD_TOOL_LOBBY64" = "1" ]]; then
|
|
||||||
echo // building executable lobby_connect_x64 - 64
|
|
||||||
all_src_files=(
|
|
||||||
"${release_src[@]}"
|
|
||||||
"$tools_dir/lobby_connect/lobby_connect.cpp"
|
|
||||||
)
|
|
||||||
build_for 0 1 "$build_root_tools/lobby_connect/lobby_connect_x64" all_src_files empty_arr '-DNO_DISK_WRITES -DLOBBY_CONNECT' empty_arr
|
|
||||||
last_code=$((last_code + $?))
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$BUILD_TOOL_FIND_ITFS64" = "1" ]]; then
|
|
||||||
echo // building executable generate_interfaces_file_x64 - 64
|
|
||||||
all_src_files=(
|
|
||||||
"$tools_dir/generate_interfaces/generate_interfaces.cpp"
|
|
||||||
)
|
|
||||||
build_for 0 1 "$build_root_tools/find_interfaces/generate_interfaces_file_x64" all_src_files empty_arr '' empty_arr
|
|
||||||
last_code=$((last_code + $?))
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$BUILD_LIB_NET_SOCKETS_64" = "1" ]]; then
|
|
||||||
echo // building shared lib steamnetworkingsockets64.so - 64
|
|
||||||
all_src_files=(
|
|
||||||
"networking_sockets_lib/steamnetworkingsockets.cpp"
|
|
||||||
)
|
|
||||||
build_for 0 0 "$build_root_dir/networking_sockets_lib/steamnetworkingsockets64.so" all_src_files empty_arr '' empty_arr
|
|
||||||
last_code=$((last_code + $?))
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# cleanup
|
|
||||||
cleanup
|
|
||||||
|
|
||||||
|
|
||||||
# copy configs + examples
|
|
||||||
if [[ $last_code = 0 ]]; then
|
|
||||||
echo "// copying readmes + files examples"
|
|
||||||
mkdir -p "$build_root_dir/"
|
|
||||||
cp -f -r "post_build/steam_settings.EXAMPLE/" "$build_root_dir/"
|
|
||||||
cp -f "post_build/README.release.md" "$build_root_dir/"
|
|
||||||
cp -f "CHANGELOG.md" "$build_root_dir/"
|
|
||||||
if [[ $BUILD_TYPE = 1 ]]; then
|
|
||||||
cp -f "post_build/README.debug.md" "$build_root_dir/"
|
|
||||||
fi
|
|
||||||
if [[ -d "$build_root_tools/find_interfaces" ]]; then
|
|
||||||
mkdir -p "$build_root_tools/find_interfaces/"
|
|
||||||
cp -f "post_build/README.find_interfaces.md" "$build_root_tools/find_interfaces/"
|
|
||||||
fi
|
|
||||||
if [[ -d "$build_root_tools/lobby_connect" ]]; then
|
|
||||||
mkdir -p "$build_root_tools/lobby_connect/"
|
|
||||||
cp -f "post_build/README.lobby_connect.md" "$build_root_tools/lobby_connect/"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "[X] Not copying readmes or files examples due to previous errors" >&2
|
|
||||||
fi
|
|
||||||
echo; echo;
|
|
||||||
|
|
||||||
|
|
||||||
echo;
|
|
||||||
if [[ $last_code = 0 ]]; then
|
|
||||||
echo "[GG] no failures"
|
|
||||||
else
|
|
||||||
echo "[XX] general failure" >&2
|
|
||||||
fi
|
|
||||||
|
|
||||||
exit $last_code
|
|
@ -1,302 +0,0 @@
|
|||||||
-- Project SteamClient
|
|
||||||
project "SteamClient"
|
|
||||||
cppdialect("c++17")
|
|
||||||
kind "SharedLib"
|
|
||||||
language "C++"
|
|
||||||
targetdir "bin/SteamClient/%{cfg.buildcfg}_%{cfg.platform}"
|
|
||||||
location "GBE_Build/SteamClient"
|
|
||||||
staticruntime "on"
|
|
||||||
|
|
||||||
optimize "On"
|
|
||||||
symbols "Off"
|
|
||||||
|
|
||||||
-- BASIC FOR WINDOWS
|
|
||||||
filter "options:os=windows"
|
|
||||||
buildoptions {
|
|
||||||
"/permissive-", "/MP", "/DYNAMICBASE",
|
|
||||||
"/utf-8", "/Zc:char8_t-", "/EHsc", "/GL-"
|
|
||||||
}
|
|
||||||
linkoptions {
|
|
||||||
"/NOLOGO", "/emittoolversioninfo:no"
|
|
||||||
}
|
|
||||||
defines { "STEAMCLIENT_DLL","EMU_EXPERIMENTAL_BUILD" }
|
|
||||||
|
|
||||||
-- BASIC FOR LINUX
|
|
||||||
filter "options:os=linux"
|
|
||||||
files {
|
|
||||||
default_files,
|
|
||||||
predefined_libs,
|
|
||||||
crash_linux,
|
|
||||||
"controller/**"
|
|
||||||
}
|
|
||||||
buildoptions {
|
|
||||||
"-fvisibility=hidden", "-fexceptions", "-fno-jump-tables", "-fno-char8_t"
|
|
||||||
}
|
|
||||||
links {
|
|
||||||
linux_link,
|
|
||||||
overlay_link_linux
|
|
||||||
}
|
|
||||||
defines {
|
|
||||||
"UTF_CPP_CPLUSPLUS=201703L", "CURL_STATICLIB", "GNUC", "NDEBUG",
|
|
||||||
"CONTROLLER_SUPPORT", "ImTextureID=ImU64", "STEAMCLIENT_DLL"
|
|
||||||
}
|
|
||||||
|
|
||||||
filter { "*Debug", "options:os=linux"}
|
|
||||||
defines {
|
|
||||||
"UTF_CPP_CPLUSPLUS=201703L", "CURL_STATICLIB", "GNUC", "DEBUG",
|
|
||||||
"EMU_RELEASE_BUILD", "CONTROLLER_SUPPORT", "ImTextureID=ImU64", "STEAMCLIENT_DLL"
|
|
||||||
}
|
|
||||||
|
|
||||||
-- SET ARCH
|
|
||||||
filter "platforms:x32"
|
|
||||||
targetname "steamclient"
|
|
||||||
architecture "x86"
|
|
||||||
|
|
||||||
filter "platforms:x64"
|
|
||||||
targetname "steamclient64"
|
|
||||||
architecture "x86_64"
|
|
||||||
|
|
||||||
-- WIN 32 DEFAULTS
|
|
||||||
filter { "platforms:x32", "options:os=windows" }
|
|
||||||
files {
|
|
||||||
"steamclient/**",
|
|
||||||
"resources/win/client/32/resources.rc"
|
|
||||||
}
|
|
||||||
|
|
||||||
-- WIN 64 DEFAULTS
|
|
||||||
filter { "platforms:x64", "options:os=windows" }
|
|
||||||
files {
|
|
||||||
"steamclient/**",
|
|
||||||
"resources/win/client/64/resources.rc"
|
|
||||||
}
|
|
||||||
|
|
||||||
-- WIN X32 EXP
|
|
||||||
filter { "Experimental**", "options:os=windows", "platforms:x32" }
|
|
||||||
files {
|
|
||||||
default_files,
|
|
||||||
"libs/**",
|
|
||||||
crash_win,
|
|
||||||
"controller/**",
|
|
||||||
"overlay_experimental/**",
|
|
||||||
"resources/win/client/32/resources.rc"
|
|
||||||
}
|
|
||||||
links {
|
|
||||||
win_link,
|
|
||||||
default_link,
|
|
||||||
overlay_link_windows
|
|
||||||
}
|
|
||||||
libdirs {
|
|
||||||
basic_dir_win .. "libssq/build32/Release",
|
|
||||||
basic_dir_win .. "curl/install32/lib",
|
|
||||||
basic_dir_win .. "protobuf/install32/lib",
|
|
||||||
basic_dir_win .. "zlib/install32/lib",
|
|
||||||
basic_dir_win .. "mbedtls/install32/lib",
|
|
||||||
basic_dir_win .. "ingame_overlay/install32/lib",
|
|
||||||
basic_dir_win .. "ingame_overlay/deps/System/install32/lib",
|
|
||||||
basic_dir_win .. "ingame_overlay/deps/mini_detour/install32/lib"
|
|
||||||
}
|
|
||||||
includedirs {
|
|
||||||
default_include,
|
|
||||||
"dll/proto_gen/win",
|
|
||||||
basic_dir_win .. "libssq/include",
|
|
||||||
basic_dir_win .. "curl/install32/include",
|
|
||||||
basic_dir_win .. "protobuf/install32/include",
|
|
||||||
basic_dir_win .. "zlib/install32/include",
|
|
||||||
basic_dir_win .. "mbedtls/install32/include",
|
|
||||||
basic_dir_win .. "ingame_overlay/install32/include",
|
|
||||||
basic_dir_win .. "ingame_overlay/deps/System/install32/include",
|
|
||||||
basic_dir_win .. "ingame_overlay/deps/mini_detour/install32/include"
|
|
||||||
}
|
|
||||||
removefiles { "steamclient/**" }
|
|
||||||
removefiles { "libs/detours/uimports.cc" }
|
|
||||||
|
|
||||||
-- WIN X64 EXP
|
|
||||||
filter { "Experimental**", "options:os=windows", "platforms:x64" }
|
|
||||||
files {
|
|
||||||
default_files,
|
|
||||||
"libs/**",
|
|
||||||
crash_win,
|
|
||||||
"controller/**",
|
|
||||||
"overlay_experimental/**",
|
|
||||||
"resources/win/client/64/resources.rc"
|
|
||||||
}
|
|
||||||
links {
|
|
||||||
win_link,
|
|
||||||
default_link,
|
|
||||||
overlay_link_windows
|
|
||||||
}
|
|
||||||
libdirs {
|
|
||||||
basic_dir_win .. "libssq/build64/Release",
|
|
||||||
basic_dir_win .. "curl/install64/lib",
|
|
||||||
basic_dir_win .. "protobuf/install64/lib",
|
|
||||||
basic_dir_win .. "zlib/install64/lib",
|
|
||||||
basic_dir_win .. "mbedtls/install64/lib",
|
|
||||||
basic_dir_win .. "ingame_overlay/install64/lib",
|
|
||||||
basic_dir_win .. "ingame_overlay/deps/System/install64/lib",
|
|
||||||
basic_dir_win .. "ingame_overlay/deps/mini_detour/install64/lib"
|
|
||||||
}
|
|
||||||
includedirs {
|
|
||||||
default_include,
|
|
||||||
"dll/proto_gen/win",
|
|
||||||
basic_dir_win .. "libssq/include",
|
|
||||||
basic_dir_win .. "curl/install64/include",
|
|
||||||
basic_dir_win .. "protobuf/install64/include",
|
|
||||||
basic_dir_win .. "zlib/install64/include",
|
|
||||||
basic_dir_win .. "mbedtls/install64/include",
|
|
||||||
basic_dir_win .. "ingame_overlay/install64/include",
|
|
||||||
basic_dir_win .. "ingame_overlay/deps/System/install64/include",
|
|
||||||
basic_dir_win .. "ingame_overlay/deps/mini_detour/install64/include"
|
|
||||||
}
|
|
||||||
removefiles { "steamclient/**" }
|
|
||||||
removefiles { "libs/detours/uimports.cc" }
|
|
||||||
|
|
||||||
-- ExperimentalDebug WINDOWS
|
|
||||||
filter { "ExperimentalDebug", "options:os=windows" }
|
|
||||||
defines {
|
|
||||||
"DEBUG", "EMU_EXPERIMENTAL_BUILD", "CONTROLLER_SUPPORT", "EMU_OVERLAY", "ImTextureID=ImU64",
|
|
||||||
"UTF_CPP_CPLUSPLUS=201703L", "CURL_STATICLIB", "UNICODE", "_UNICODE", "_CRT_SECURE_NO_WARNINGS", "STEAMCLIENT_DLL"
|
|
||||||
}
|
|
||||||
|
|
||||||
-- ExperimentalRelease WINDOWS
|
|
||||||
filter { "ExperimentalRelease", "options:os=windows" }
|
|
||||||
defines {
|
|
||||||
"NDEBUG", "EMU_RELEASE_BUILD", "EMU_EXPERIMENTAL_BUILD", "CONTROLLER_SUPPORT", "EMU_OVERLAY", "ImTextureID=ImU64",
|
|
||||||
"UTF_CPP_CPLUSPLUS=201703L", "CURL_STATICLIB", "UNICODE", "_UNICODE", "_CRT_SECURE_NO_WARNINGS", "STEAMCLIENT_DLL"
|
|
||||||
}
|
|
||||||
|
|
||||||
-- ExperimentalDebug LINUX
|
|
||||||
filter { "ExperimentalDebug", "options:os=linux" }
|
|
||||||
files {
|
|
||||||
default_files,
|
|
||||||
predefined_libs,
|
|
||||||
crash_linux,
|
|
||||||
"controller/**",
|
|
||||||
"overlay_experimental/**"
|
|
||||||
}
|
|
||||||
defines {
|
|
||||||
"UTF_CPP_CPLUSPLUS=201703L", "CURL_STATICLIB", "GNUC", "DEBUG", "EMU_RELEASE_BUILD",
|
|
||||||
"CONTROLLER_SUPPORT", "EMU_OVERLAY", "ImTextureID=ImU64", "STEAMCLIENT_DLL"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
-- ExperimentalRelease LINUX
|
|
||||||
filter { "ExperimentalRelease", "options:os=linux" }
|
|
||||||
files {
|
|
||||||
default_files,
|
|
||||||
predefined_libs,
|
|
||||||
crash_linux,
|
|
||||||
"controller/**",
|
|
||||||
"overlay_experimental/**"
|
|
||||||
}
|
|
||||||
defines {
|
|
||||||
"UTF_CPP_CPLUSPLUS=201703L", "CURL_STATICLIB", "GNUC", "NDEBUG", "EMU_RELEASE_BUILD",
|
|
||||||
"CONTROLLER_SUPPORT", "EMU_OVERLAY", "ImTextureID=ImU64", "STEAMCLIENT_DLL"
|
|
||||||
}
|
|
||||||
|
|
||||||
-- SteamClientExtra
|
|
||||||
if os.target() == "windows" then
|
|
||||||
project "SteamClientExtra"
|
|
||||||
cppdialect("c++17")
|
|
||||||
kind "SharedLib"
|
|
||||||
language "C++"
|
|
||||||
targetdir "bin/SteamClientExtra/%{cfg.buildcfg}_%{cfg.platform}"
|
|
||||||
location "GBE_Build/SteamClientExtra"
|
|
||||||
staticruntime "on"
|
|
||||||
|
|
||||||
optimize "On"
|
|
||||||
symbols "Off"
|
|
||||||
|
|
||||||
buildoptions {
|
|
||||||
"/permissive-", "/MP4", "/DYNAMICBASE", "/utf-8", "/Zc:char8_t-", "/EHsc", "/GL-"
|
|
||||||
}
|
|
||||||
linkoptions {
|
|
||||||
"/emittoolversioninfo:no"
|
|
||||||
}
|
|
||||||
|
|
||||||
links {
|
|
||||||
win_link,
|
|
||||||
"user32.lib"
|
|
||||||
}
|
|
||||||
|
|
||||||
-- SET ARCH
|
|
||||||
filter "platforms:x32"
|
|
||||||
targetname "steamclient"
|
|
||||||
architecture "x86"
|
|
||||||
|
|
||||||
filter "platforms:x64"
|
|
||||||
targetname "steamclient64"
|
|
||||||
architecture "x86_64"
|
|
||||||
|
|
||||||
includedirs {
|
|
||||||
"helpers",
|
|
||||||
"libs",
|
|
||||||
"tools/steamclient_loader/win/extra_protection"
|
|
||||||
}
|
|
||||||
-- WIN 32 DEFAULTS
|
|
||||||
filter { "platforms:x32", "options:os=windows" }
|
|
||||||
files {
|
|
||||||
"helpers/**",
|
|
||||||
"libs/detours/**",
|
|
||||||
"resources/win/client/32/resources.rc",
|
|
||||||
"tools/steamclient_loader/win/**"
|
|
||||||
}
|
|
||||||
removefiles { "libs/detours/uimports.cc" }
|
|
||||||
|
|
||||||
-- WIN 64 DEFAULTS
|
|
||||||
filter { "platforms:x64", "options:os=windows" }
|
|
||||||
files {
|
|
||||||
"helpers/**",
|
|
||||||
"libs/detours/**",
|
|
||||||
"resources/win/client/64/resources.rc",
|
|
||||||
"tools/steamclient_loader/win/**"
|
|
||||||
}
|
|
||||||
removefiles { "libs/detours/uimports.cc" }
|
|
||||||
|
|
||||||
end
|
|
||||||
-- End SteamClient + SteamClientExtra
|
|
||||||
-- Project LobbyConnect
|
|
||||||
project "LobbyConnect"
|
|
||||||
cppdialect("c++17")
|
|
||||||
kind "ConsoleApp"
|
|
||||||
language "C++"
|
|
||||||
targetdir "bin/LobbyConnect/%{cfg.buildcfg}_%{cfg.platform}"
|
|
||||||
location "GBE_Build/LobbyConnect"
|
|
||||||
staticruntime "on"
|
|
||||||
|
|
||||||
-- TODO LOBBYCONNECT
|
|
||||||
|
|
||||||
optimize "On"
|
|
||||||
symbols "Off"
|
|
||||||
-- End LobbyConnect
|
|
||||||
|
|
||||||
-- Project GenerateInterfaces
|
|
||||||
project "GenerateInterfaces"
|
|
||||||
cppdialect("c++17")
|
|
||||||
kind "ConsoleApp"
|
|
||||||
language "C++"
|
|
||||||
targetdir "bin/GenerateInterfaces/%{cfg.buildcfg}_%{cfg.platform}"
|
|
||||||
location "GBE_Build/GenerateInterfaces"
|
|
||||||
targetname "GenerateInterfaces"
|
|
||||||
optimize "On"
|
|
||||||
symbols "Off"
|
|
||||||
|
|
||||||
files {
|
|
||||||
"tools/generate_interfaces/**"
|
|
||||||
}
|
|
||||||
-- End LobbyConnect
|
|
||||||
|
|
||||||
-- Project steamnetworkingsockets
|
|
||||||
project "steamnetworkingsockets"
|
|
||||||
cppdialect("c++17")
|
|
||||||
kind "ConsoleApp"
|
|
||||||
language "C++"
|
|
||||||
targetdir "bin/steamnetworkingsockets/%{cfg.buildcfg}_%{cfg.platform}"
|
|
||||||
location "GBE_Build/steamnetworkingsockets"
|
|
||||||
targetname "steamnetworkingsockets"
|
|
||||||
optimize "On"
|
|
||||||
symbols "Off"
|
|
||||||
|
|
||||||
files {
|
|
||||||
"networking_sockets_lib/**"
|
|
||||||
}
|
|
||||||
-- End LobbyConnect
|
|
Loading…
Reference in New Issue
Block a user