diff options
author | crupest <crupest@outlook.com> | 2019-03-28 19:19:18 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2019-03-28 19:19:18 +0800 |
commit | fd207a4499a29e3085fb9b73db4a228cde110d60 (patch) | |
tree | a4c1d865382c76f0cb3b9681304756570524c579 | |
parent | d72ff7334270de91242240d45263783e72546a1e (diff) | |
download | cru-fd207a4499a29e3085fb9b73db4a228cde110d60.tar.gz cru-fd207a4499a29e3085fb9b73db4a228cde110d60.tar.bz2 cru-fd207a4499a29e3085fb9b73db4a228cde110d60.zip |
...
-rw-r--r-- | CMakeSettings.json | 17 | ||||
-rw-r--r-- | azure-pipelines.yml | 2 | ||||
-rw-r--r-- | tools/build.py | 26 |
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) |