summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOdd Stranne <odd@mullvad.net>2018-07-06 12:49:03 +0200
committerOdd Stranne <odd@mullvad.net>2018-07-10 11:32:03 +0200
commit6178624d82e325e8fe1a0b2de1e7ef6f83fc7815 (patch)
tree5ac45a7bb9bbfa53ce366e6be32980c26d1c740f
parent038e7c653872914b50b4d60dfb71d6cb2f6cd630 (diff)
downloadmullvadvpn-6178624d82e325e8fe1a0b2de1e7ef6f83fc7815.tar.xz
mullvadvpn-6178624d82e325e8fe1a0b2de1e7ef6f83fc7815.zip
Include NSIS plugins in Windows build script
-rw-r--r--build_windows_modules.sh53
1 files changed, 39 insertions, 14 deletions
diff --git a/build_windows_modules.sh b/build_windows_modules.sh
index 4475226407..9121a07e0e 100644
--- a/build_windows_modules.sh
+++ b/build_windows_modules.sh
@@ -1,10 +1,10 @@
set -eu
-# Override this variable to set your own list of build configurations. Set this
-# to "Release" to build release versions.
+# List of solution configurations to build.
+# Default configurations generated by Visual Studio are "Release" and "Debug".
CPP_BUILD_MODES=${CPP_BUILD_MODES:-"Debug"}
-# Override this variable to set different target platforms. Add "x86" to build
-# win32 versions.
+# List of target platforms to build for.
+# Common platforms include "x86" and "x64".
CPP_BUILD_TARGETS=${CPP_BUILD_TARGETS:-"x64"}
# Override this to set a different cargo target directory
CARGO_TARGET_DIR=${CARGO_TARGET_DIR:-"./target/"}
@@ -13,24 +13,40 @@ if [[ "${1:-""}" == "--dev-build" ]]; then
DEV_BUILD=true
fi
-# Builds visual studio projects
-function build_project
+function clean_solution
{
local path="$1"
- local sln="$1/$2"
-
+
if [[ -z "${DEV_BUILD+x}" ]]; then
# Clean all intermediate and output files
rm -r $path/bin/* || true
fi
+}
+
+function build_solution_config
+{
+ local sln="$1"
+ local config="$2"
+ local platform="$3"
set -x
+ cmd.exe "/c msbuild.exe /m $(to_win_path $sln) /p:Configuration=$config /p:Platform=$platform"
+ set +x
+}
+
+# Builds visual studio solution in all (specified) configurations
+function build_solution
+{
+ local path="$1"
+ local sln="$1/$2"
+
+ clean_solution $path
+
for mode in $CPP_BUILD_MODES; do
for target in $CPP_BUILD_TARGETS; do
- cmd.exe "/c msbuild.exe /m $(to_win_path $sln) /p:Configuration=$mode /p:Platform=$target"
+ build_solution_config $sln $mode $target
done
done
- set +x
}
function to_win_path
@@ -133,20 +149,29 @@ function rustc_host_arch
| tr -d '"'
}
-function main
+function build_nsis_plugins
{
+ local nsis_root_path=${CPP_ROOT_PATH:-"./windows/nsis-plugins"}
+ clean_solution "$nsis_root_path"
+ build_solution_config "$nsis_root_path/nsis-plugins.sln" "Release" "x86"
+}
+
+function main
+{
local winfw_root_path=${CPP_ROOT_PATH:-"./windows/winfw"}
local windns_root_path=${CPP_ROOT_PATH:-"./windows/windns"}
local winroute_root_path=${CPP_ROOT_PATH:-"./windows/winroute"}
- build_project "$winfw_root_path" "winfw.sln"
- build_project "$windns_root_path" "windns.sln"
- build_project "$winroute_root_path" "winroute.sln"
+ build_solution "$winfw_root_path" "winfw.sln"
+ build_solution "$windns_root_path" "windns.sln"
+ build_solution "$winroute_root_path" "winroute.sln"
copy_outputs $winfw_root_path "winfw.dll"
copy_outputs $windns_root_path "windns.dll"
copy_outputs $winroute_root_path "winroute.dll"
+
+ build_nsis_plugins
}
main