| 
									
										
										
										
											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 download import Downloader | 
					
						
							|  |  |  | 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'] | 
					
						
							|  |  |  | 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 15:34:38 -08:00
										 |  |  | if build == 'mingw': | 
					
						
							| 
									
										
										
										
											2015-02-12 17:53:39 -08:00
										 |  |  |   # Install MinGW. | 
					
						
							|  |  |  |   mingw_url = 'http://sourceforge.net/projects/mingw-w64/files/' + \ | 
					
						
							|  |  |  |     '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/download' | 
					
						
							|  |  |  |   with Downloader().download(mingw_url) as f: | 
					
						
							|  |  |  |     check_call(['7z', 'x', '-oC:\\', f]) | 
					
						
							|  |  |  |      | 
					
						
							| 
									
										
										
										
											2015-02-12 15:34:38 -08:00
										 |  |  |   # Remove path to Git bin directory from $PATH because it breaks MinGW config. | 
					
						
							| 
									
										
										
										
											2015-02-12 17:53:39 -08: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 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'] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | check_call(cmake_command) | 
					
						
							|  |  |  | check_call(build_command) |