aboutsummaryrefslogtreecommitdiff
path: root/tools/win_build.py
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-07-01 18:16:56 +0800
committercrupest <crupest@outlook.com>2020-07-01 18:16:56 +0800
commit68da5bb83a47d21157a48845fb71e7df0c6baec1 (patch)
tree1121956825c091d6a7fab8534a5e8b92a9aab9fb /tools/win_build.py
parent5c3dae62b9218dbd2493ff6390db062013ca4bdc (diff)
downloadcru-68da5bb83a47d21157a48845fb71e7df0c6baec1.tar.gz
cru-68da5bb83a47d21157a48845fb71e7df0c6baec1.tar.bz2
cru-68da5bb83a47d21157a48845fb71e7df0c6baec1.zip
...
Diffstat (limited to 'tools/win_build.py')
-rw-r--r--tools/win_build.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/tools/win_build.py b/tools/win_build.py
index 3d6f0591..7332af77 100644
--- a/tools/win_build.py
+++ b/tools/win_build.py
@@ -8,6 +8,8 @@ import sys
parser = argparse.ArgumentParser()
parser.add_argument('command', choices=[
'configure', 'build', 'test'], nargs='?', default='test', help='specify command to execute')
+parser.add_argument('--skip-install-packages', action="store_true",
+ help='skip using vcpkg to install package')
parser.add_argument('-a', '--arch', choices=['x86', 'x64'],
default='x64', help='specify target cpu architecture')
parser.add_argument('-c', '--config', choices=['Debug', 'Release'],
@@ -46,15 +48,17 @@ def init_vc_environment(arch):
os.environ[k] = v
+def install_packages():
+ subprocess.check_call('vcpkg install gtest:{arch}-windows fmt:{arch}-windows ms-gsl:{arch}-windows'.format(arch=args.arch),
+ stdout=sys.stdout, stderr=sys.stderr)
+
+
def configure():
generater_vs_arch_map = {
'x86': 'Win32',
'x64': 'x64'
}
- subprocess.check_call('vcpkg install gtest:{arch}-windows fmt:{arch}-windows ms-gsl:{arch}-windows'.format(arch=args.arch),
- stdout=sys.stdout, stderr=sys.stderr)
-
# -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
subprocess.check_call('cmake -S . -B {build_dir} -G "Visual Studio 16 2019" -A {arch} -T host=x64 -DCMAKE_TOOLCHAIN_FILE={toolchain}'
.format(build_dir=work_dir, arch=generater_vs_arch_map[args.arch], toolchain=cmake_toolchain_path),
@@ -74,7 +78,11 @@ def test():
os.chdir(project_root)
+if not args.skip_install_packages:
+ install_packages()
+
configure()
+
if args.command == 'build' or args.command == 'test':
build()
if args.command == 'test':