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 download import Downloader
|
|
|
|
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']
|
|
|
|
cmake_command = ['cmake', '-DFMT_EXTRA_TESTS=ON', '-DCMAKE_BUILD_TYPE=' + os.environ['CONFIG']]
|
|
|
|
build_command = ['msbuild', '/m:4', '/p:Config=' + os.environ['CONFIG'], 'FORMAT.sln']
|
|
|
|
test_command = ['msbuild', 'RUN_TESTS.vcxproj']
|
2015-02-12 23:34:38 +00:00
|
|
|
if build == 'mingw':
|
2015-02-13 01:53:39 +00:00
|
|
|
# Install MinGW.
|
2015-02-17 17:19:49 +00:00
|
|
|
mingw_url = 'http://ufpr.dl.sourceforge.net/project/mingw-w64/' + \
|
2015-02-17 17:16:50 +00:00
|
|
|
'Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/' + \
|
|
|
|
'4.9.2/threads-win32/seh/x86_64-4.9.2-release-win32-seh-rt_v3-rev1.7z'
|
2015-02-13 01:53:39 +00:00
|
|
|
with Downloader().download(mingw_url) as f:
|
|
|
|
check_call(['7z', 'x', '-oC:\\', f])
|
|
|
|
|
2015-02-12 23:34:38 +00:00
|
|
|
# Remove path to Git bin directory from $PATH because it breaks MinGW config.
|
2015-02-13 01:53:39 +00:00
|
|
|
path = os.environ['PATH'].replace(r'C:\Program Files (x86)\Git\bin', '')
|
|
|
|
|
|
|
|
os.environ['PATH'] = r'C:\Program Files (x86)\MSBUILD\12.0\bin\;' + path + r';C:\mingw64\bin'
|
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']
|
|
|
|
|
|
|
|
check_call(cmake_command)
|
|
|
|
check_call(build_command)
|
2015-03-01 23:21:33 +00:00
|
|
|
check_call(test_command)
|