summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.appveyor.yml19
-rwxr-xr-xxenia-build28
2 files changed, 28 insertions, 19 deletions
diff --git a/.appveyor.yml b/.appveyor.yml
index db66e54a2..e9a2c68fc 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -62,13 +62,13 @@ configuration:
#- Checked
- Release
-build:
- parallel: true # enable MSBuild parallel builds
- project: build\xenia.sln # path to Visual Studio solution or project
-
- # MSBuild verbosity level
- #verbosity: quiet|minimal|normal|detailed
- verbosity: minimal
+#build:
+# parallel: true # enable MSBuild parallel builds
+# project: build\xenia.sln # path to Visual Studio solution or project
+#
+# # MSBuild verbosity level
+# #verbosity: quiet|minimal|normal|detailed
+# verbosity: minimal
# scripts to run before build
#before_build:
@@ -79,8 +79,9 @@ after_build:
- 7z a xenia-%appveyor_repo_branch%-%appveyor_repo_commit%.zip LICENSE %APPVEYOR_BUILD_FOLDER%\build\bin\Windows\Release\xenia.exe %APPVEYOR_BUILD_FOLDER%\build\bin\Windows\Release\xenia.pdb
# to run your custom scripts instead of automatic MSBuild
-#build_script:
-# - cmd: tools\buildbot\build.bat
+# We also compile the tests here instead of later on.
+build_script:
+ - cmd: xb.bat build --config=release --target=src\xenia-app --target=tests\xenia-cpu-ppc-tests
# to disable automatic builds
#build: off
diff --git a/xenia-build b/xenia-build
index 98330b6a5..5e659c4ee 100755
--- a/xenia-build
+++ b/xenia-build
@@ -293,6 +293,7 @@ def get_clang_format_binary():
A path to the clang-format executable.
"""
attempts = [
+ 'C:\\Program Files\\LLVM\\bin\\clang-format.exe',
'C:\\Program Files (x86)\\LLVM\\bin\\clang-format.exe',
'clang-format-3.8',
'clang-format',
@@ -574,17 +575,24 @@ class BaseBuildCommand(Command):
print('')
print('- building (%s):%s...' % (
- 'all' if not len(args['target']) else ' '.join(args['target']),
+ 'all' if not len(args['target']) else ', '.join(args['target']),
args['config']))
if sys.platform == 'win32':
- result = shell_call([
- 'devenv',
- '/nologo',
+ targets = None
+ if len(args['target']):
+ targets = '/t:' + ';'.join(target + (':Rebuild' if args['force'] else '')
+ for target in args['target'])
+ else:
+ targets = '/t:Rebuild' if args['force'] else None
+
+ result = subprocess.call([
+ 'msbuild',
'build/xenia.sln',
- '/rebuild' if args['force'] else '/build',
- args['config'],
- ] + [('/project ', target) for target in args['target']] +
- pass_args, throw_on_error=False)
+ '/nologo',
+ '/m',
+ '/v:m',
+ '/p:Configuration=' + args['config'],
+ ] + ([targets] if targets is not None else []) + pass_args, shell=False)
elif sys.platform == 'darwin':
# TODO(benvanik): other platforms.
print('ERROR: don\'t know how to build on this platform.')
@@ -592,11 +600,11 @@ class BaseBuildCommand(Command):
# TODO(benvanik): allow gcc?
os.environ['CXX'] = 'clang++-3.8'
os.environ['CC'] = 'clang-3.8'
- result = shell_call([
+ result = subprocess.call([
'make',
'-Cbuild/',
'config=%s_linux' % (args['config']),
- ] + pass_args + args['target'], throw_on_error=False)
+ ] + pass_args + args['target'], shell=False)
print('')
if result != 0:
print('ERROR: build failed with one or more errors.')