aboutsummaryrefslogtreecommitdiff
path: root/tools/build.py
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-03-28 20:17:03 +0800
committercrupest <crupest@outlook.com>2019-03-28 20:17:03 +0800
commit32314dd3d9aa01f929ee6d158d6f6ac2e0e22ed5 (patch)
treec0a5829e63f11b4b2f223bdf3f53a201cecbe0b4 /tools/build.py
parent8199bbb3130812e5c8fac6254de6971ef6b9c17e (diff)
downloadcru-32314dd3d9aa01f929ee6d158d6f6ac2e0e22ed5.tar.gz
cru-32314dd3d9aa01f929ee6d158d6f6ac2e0e22ed5.tar.bz2
cru-32314dd3d9aa01f929ee6d158d6f6ac2e0e22ed5.zip
...
Diffstat (limited to 'tools/build.py')
-rw-r--r--tools/build.py26
1 files changed, 7 insertions, 19 deletions
diff --git a/tools/build.py b/tools/build.py
index dac1f957..ab7c1205 100644
--- a/tools/build.py
+++ b/tools/build.py
@@ -9,31 +9,19 @@ parser.add_argument('-a', '--arch', choices=['x86', 'x64'],
required=True, help='specify target cpu architecture')
parser.add_argument('-c', '--config', choices=['Debug', 'Release'],
required=True, help='specify build configuration')
-parser.add_argument('-e', '--vs-edition', choices=['Community', 'Enterprise'],
- default='Community', help='specify visual studio edition')
args = parser.parse_args()
project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
-
-vs_path = 'C:/Program Files (x86)/Microsoft Visual Studio/2017/{edition}'.format(
- edition=args.vs_edition)
-
-def setup_vs_env():
- old_dir = os.getcwd()
- os.chdir(os.path.join(vs_path, 'VC/Auxiliary/Build'))
- output = subprocess.check_output('vcvarsall.bat {arch} & set'.format(arch=args.arch), encoding='utf-8')
- for line in output.splitlines():
- e = line.find('=')
- os.environ[line[:e]] = line[e+1:]
- os.chdir(old_dir)
-
-setup_vs_env()
-
os.chdir(project_root)
-subprocess.run('cmake -S . -B build -G "Ninja" -DCMAKE_BUILD_TYPE="{config}"'.format(config=args.config),
+generater_vs_arch_map = {
+ 'x86': 'Win32',
+ 'x64': 'x64'
+}
+
+subprocess.run('cmake -S . -B build -G "Visual Studio 15 2017" -A {arch}'.format(arch=generater_vs_arch_map[args.arch]),
stdout=sys.stdout, stderr=sys.stderr)
-subprocess.run('cmake --build build --target all',
+subprocess.run('cmake --build build --target ALL_BUILD --config {config}'.format(config=args.config),
stdout=sys.stdout, stderr=sys.stderr)