2015-02-12 15:34:38 -08:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								#!/usr/bin/env python
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								# Build the project on AppVeyor.
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								import os
							 | 
						
					
						
							
								
									
										
										
										
											2015-02-12 17:53:39 -08:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								from subprocess import check_call
							 | 
						
					
						
							
								
									
										
										
										
											2015-02-12 15:34:38 -08:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2015-02-12 17:53:39 -08:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								build = os.environ['BUILD']
							 | 
						
					
						
							
								
									
										
										
										
											2015-08-07 06:41:07 -07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								config = os.environ['CONFIGURATION']
							 | 
						
					
						
							
								
									
										
										
										
											2015-08-07 07:21:43 -07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								platform = os.environ.get('PLATFORM')
							 | 
						
					
						
							
								
									
										
										
										
											2015-06-27 08:38:26 -07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								path = os.environ['PATH']
							 | 
						
					
						
							
								
									
										
										
										
											2015-05-12 07:35:29 -07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								cmake_command = ['cmake', '-DFMT_PEDANTIC=ON', '-DCMAKE_BUILD_TYPE=' + config]
							 | 
						
					
						
							
								
									
										
										
										
											2015-02-12 15:34:38 -08:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								if build == 'mingw':
							 | 
						
					
						
							
								
									
										
										
										
											2015-02-12 15:41:30 -08:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  cmake_command.append('-GMinGW Makefiles')
							 | 
						
					
						
							
								
									
										
										
										
											2015-02-12 17:53:39 -08:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  build_command = ['mingw32-make', '-j4']
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  test_command = ['mingw32-make', 'test']
							 | 
						
					
						
							
								
									
										
										
										
											2015-03-10 09:18:31 -07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  # Remove the path to Git bin directory from $PATH because it breaks MinGW config.
							 | 
						
					
						
							
								
									
										
										
										
											2015-06-27 08:38:26 -07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  path = path.replace(r'C:\Program Files (x86)\Git\bin', '')
							 | 
						
					
						
							
								
									
										
										
										
											2015-06-29 07:22:45 -07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  os.environ['PATH'] = r'C:\MinGW\bin;' + path
							 | 
						
					
						
							
								
									
										
										
										
											2015-03-10 08:52:39 -07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								else:
							 | 
						
					
						
							
								
									
										
										
										
											2015-06-27 08:38:26 -07: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 07:08:12 -07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  generator = 'Visual Studio 14 2015'
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  if platform == 'x64':
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								    generator += ' Win64'
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  cmake_command.append('-G' + generator)
							 | 
						
					
						
							
								
									
										
										
										
											2015-03-10 08:52:39 -07:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  build_command = ['msbuild', '/m:4', '/p:Config=' + config, 'FORMAT.sln']
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  test_command = ['msbuild', 'RUN_TESTS.vcxproj']
							 | 
						
					
						
							
								
									
										
										
										
											2015-02-12 17:53:39 -08:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								check_call(cmake_command)
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								check_call(build_command)
							 | 
						
					
						
							
								
									
										
										
										
											2015-03-01 15:21:33 -08:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								check_call(test_command)
							 |