2015-02-12 23:34:38 +00:00
|
|
|
#!/usr/bin/env python
|
|
|
|
# Build the project on AppVeyor.
|
|
|
|
|
|
|
|
import os
|
2015-02-13 01:53:39 +00:00
|
|
|
from subprocess import check_call
|
2015-02-12 23:34:38 +00:00
|
|
|
|
2015-02-13 01:53:39 +00:00
|
|
|
build = os.environ['BUILD']
|
2015-08-07 13:41:07 +00:00
|
|
|
config = os.environ['CONFIGURATION']
|
2015-08-07 14:21:43 +00:00
|
|
|
platform = os.environ.get('PLATFORM')
|
2015-06-27 15:38:26 +00:00
|
|
|
path = os.environ['PATH']
|
2015-05-12 14:35:29 +00:00
|
|
|
cmake_command = ['cmake', '-DFMT_PEDANTIC=ON', '-DCMAKE_BUILD_TYPE=' + config]
|
2015-02-12 23:34:38 +00:00
|
|
|
if build == 'mingw':
|
2015-02-12 23:41:30 +00:00
|
|
|
cmake_command.append('-GMinGW Makefiles')
|
2015-02-13 01:53:39 +00:00
|
|
|
build_command = ['mingw32-make', '-j4']
|
|
|
|
test_command = ['mingw32-make', 'test']
|
2015-03-10 16:18:31 +00:00
|
|
|
# Remove the path to Git bin directory from $PATH because it breaks MinGW config.
|
2015-06-27 15:38:26 +00:00
|
|
|
path = path.replace(r'C:\Program Files (x86)\Git\bin', '')
|
2015-06-29 14:22:45 +00:00
|
|
|
os.environ['PATH'] = r'C:\MinGW\bin;' + path
|
2015-03-10 15:52:39 +00:00
|
|
|
else:
|
2015-06-27 15:38:26 +00:00
|
|
|
# Add MSBuild 14.0 to PATH as described in
|
|
|
|
# http://help.appveyor.com/discussions/problems/2229-v140-not-found-on-vs2105rc.
|
|
|
|
os.environ['PATH'] = r'C:\Program Files (x86)\MSBuild\14.0\Bin;' + path
|
2015-08-07 14:08:12 +00:00
|
|
|
generator = 'Visual Studio 14 2015'
|
|
|
|
if platform == 'x64':
|
|
|
|
generator += ' Win64'
|
|
|
|
cmake_command.append('-G' + generator)
|
2016-02-01 09:22:47 +00:00
|
|
|
build_command = ['cmake', '--build', '.', '--config', config, '--', '/m:4'],
|
|
|
|
test_command = ['ctest', '-C', config]
|
2015-02-13 01:53:39 +00:00
|
|
|
|
|
|
|
check_call(cmake_command)
|
|
|
|
check_call(build_command)
|
2015-03-01 23:21:33 +00:00
|
|
|
check_call(test_command)
|