aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-03-28 19:19:18 +0800
committercrupest <crupest@outlook.com>2019-03-28 19:19:18 +0800
commitfd207a4499a29e3085fb9b73db4a228cde110d60 (patch)
treea4c1d865382c76f0cb3b9681304756570524c579
parentd72ff7334270de91242240d45263783e72546a1e (diff)
downloadcru-fd207a4499a29e3085fb9b73db4a228cde110d60.tar.gz
cru-fd207a4499a29e3085fb9b73db4a228cde110d60.tar.bz2
cru-fd207a4499a29e3085fb9b73db4a228cde110d60.zip
...
-rw-r--r--CMakeSettings.json17
-rw-r--r--azure-pipelines.yml2
-rw-r--r--tools/build.py26
3 files changed, 20 insertions, 25 deletions
diff --git a/CMakeSettings.json b/CMakeSettings.json
deleted file mode 100644
index 1d244620..00000000
--- a/CMakeSettings.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "configurations": [
- {
- "name": "x64-Debug",
- "generator": "Ninja",
- "configurationType": "Debug",
- "inheritEnvironments": [
- "msvc_x64_x64"
- ],
- "buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
- "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
- "cmakeCommandArgs": "",
- "buildCommandArgs": "-v",
- "ctestCommandArgs": ""
- }
- ]
-} \ No newline at end of file
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 6f3b8473..709bd25a 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -21,7 +21,7 @@ jobs:
buildConfiguration: 'Release'
steps:
- - script: python tools\build.py -a $(buildPlatform) -c $(buildConfiguration)
+ - script: python tools\build.py -a $(buildPlatform) -c $(buildConfiguration) -e Enterprise
- task: CopyFiles@2
inputs:
diff --git a/tools/build.py b/tools/build.py
index ab7c1205..329e14e7 100644
--- a/tools/build.py
+++ b/tools/build.py
@@ -9,19 +9,31 @@ 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__), '..'))
-os.chdir(project_root)
-generater_vs_arch_map = {
- 'x86': 'Win32',
- 'x64': 'x64'
-}
+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), text=True)
+ 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 "Visual Studio 15 2017" -A {arch}'.format(arch=generater_vs_arch_map[args.arch]),
+subprocess.run('cmake -S . -B build -G "Ninja" -DCMAKE_BUILD_TYPE="{config}"'.format(config=args.config),
stdout=sys.stdout, stderr=sys.stderr)
-subprocess.run('cmake --build build --target ALL_BUILD --config {config}'.format(config=args.config),
+subprocess.run('cmake --build build --target all',
stdout=sys.stdout, stderr=sys.stderr)