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']
|
2018-06-06 13:57:59 +00:00
|
|
|
platform = os.environ['PLATFORM']
|
2015-06-27 15:38:26 +00:00
|
|
|
path = os.environ['PATH']
|
2018-06-06 13:57:59 +00:00
|
|
|
image = os.environ['APPVEYOR_BUILD_WORKER_IMAGE']
|
|
|
|
jobid = os.environ['APPVEYOR_JOB_ID']
|
|
|
|
cmake_command = ['cmake', '-DFMT_PEDANTIC=ON', '-DCMAKE_BUILD_TYPE=' + config, '..']
|
2015-02-12 23:34:38 +00:00
|
|
|
if build == 'mingw':
|
2016-06-15 23:14:31 +00:00
|
|
|
cmake_command.append('-GMinGW Makefiles')
|
|
|
|
build_command = ['mingw32-make', '-j4']
|
|
|
|
test_command = ['mingw32-make', 'test']
|
|
|
|
# Remove the path to Git bin directory from $PATH because it breaks
|
|
|
|
# MinGW config.
|
|
|
|
path = path.replace(r'C:\Program Files (x86)\Git\bin', '')
|
|
|
|
os.environ['PATH'] = r'C:\MinGW\bin;' + path
|
2015-03-10 15:52:39 +00:00
|
|
|
else:
|
2016-06-15 23:14:31 +00:00
|
|
|
# Add MSBuild 14.0 to PATH as described in
|
|
|
|
# http://help.appveyor.com/discussions/problems/2229-v140-not-found-on-vs2105rc.
|
2017-10-18 15:15:10 +00:00
|
|
|
os.environ['PATH'] = r'C:\Program Files (x86)\MSBuild\15.0\Bin;' + path
|
2018-06-06 13:57:59 +00:00
|
|
|
if image == 'Visual Studio 2013':
|
|
|
|
generator = 'Visual Studio 12 2013'
|
|
|
|
elif image == 'Visual Studio 2015':
|
|
|
|
generator = 'Visual Studio 14 2015'
|
|
|
|
elif image == 'Visual Studio 2017':
|
|
|
|
generator = 'Visual Studio 15 2017'
|
2016-06-15 23:14:31 +00:00
|
|
|
if platform == 'x64':
|
|
|
|
generator += ' Win64'
|
|
|
|
cmake_command.append('-G' + generator)
|
|
|
|
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)
|