mirror of
https://github.com/OpenRCT2/OpenRCT2.git
synced 2025-01-22 18:31:59 -05:00
0871525850
* Use precompiled headers for libopenrct2 with MSVC * Exclude PCH from duktape duktape needs all the warnings turned off and forcing PCH also enables warnings. As there is nothing duktape would consume from our header, remove forcing inclusion of that header into duktape. * Provide msbuild parameter for using PCH only in CI
42 lines
1.6 KiB
Bash
Executable file
42 lines
1.6 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
# Ensure we are in root directory
|
|
if [[ $(uname) == "Darwin" ]]; then
|
|
basedir="$(perl -MCwd=abs_path -le 'print abs_path readlink(shift);' `dirname $0`/..)"
|
|
else
|
|
basedir="$(readlink -f `dirname $0`/..)"
|
|
fi
|
|
cd $basedir
|
|
|
|
if [[ "$OSTYPE" == "cygwin" || "$OSTYPE" == "msys" ]]; then
|
|
# Patch version.h
|
|
if [[ -n "$OPENRCT2_BUILD" ]]; then
|
|
echo -e "\033[0;36mPatching version.h...\033[0m"
|
|
fileversion=$OPENRCT2_VERSION.$OPENRCT2_BUILD
|
|
productversion="$fileversion-${OPENRCT2_SHA1_SHORT}"
|
|
fileversion=${fileversion//./,}
|
|
# FILEVERSION in the resource file can only take up to 4 digits in the version string, so we remove the surplus of version numbers
|
|
fileversion=$(echo $fileversion | cut -f1-4 -d",")
|
|
echo "#define OPENRCT2_FILE_VERSION $fileversion" > "resources/version.h"
|
|
echo "#define OPENRCT2_PRODUCT_VERSION \"$productversion\"" >> "resources/version.h"
|
|
cat "resources/version.h"
|
|
fi
|
|
|
|
# Build everything
|
|
echo -e "\033[0;36mBuilding OpenRCT2 for Windows $CONFIGURATION|$PLATFORM...\033[0m"
|
|
vstool msbuild openrct2.proj -t:build -p:Breakpad=true -p:UsePCH=true
|
|
|
|
# Create openrct2.exe and openrct2.com with correct subsystem
|
|
cp bin/openrct2.exe bin/openrct2.com
|
|
vstool editbin //subsystem:console bin/openrct2.com
|
|
vstool editbin //subsystem:windows bin/openrct2.exe
|
|
else
|
|
echo -e "\033[0;36mBuilding OpenRCT2...\033[0m"
|
|
mkdir -p bin && cd bin
|
|
export DESTDIR=install
|
|
cmake .. -G Ninja -DCMAKE_INSTALL_PREFIX=/usr "$@"
|
|
|
|
ninja -k0 all install
|
|
fi
|