| 
									
										
										
										
											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'] | 
					
						
							| 
									
										
										
										
											2018-06-06 16:57:59 +03:00
										 |  |  | platform = os.environ['PLATFORM'] | 
					
						
							| 
									
										
										
										
											2015-06-27 08:38:26 -07:00
										 |  |  | path = os.environ['PATH'] | 
					
						
							| 
									
										
										
										
											2018-06-06 16:57:59 +03: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 15:34:38 -08:00
										 |  |  | if build == 'mingw': | 
					
						
							| 
									
										
										
										
											2016-06-15 16:14:31 -07: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 08:52:39 -07:00
										 |  |  | else: | 
					
						
							| 
									
										
										
										
											2016-06-15 16:14:31 -07: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 08:15:10 -07:00
										 |  |  |     os.environ['PATH'] = r'C:\Program Files (x86)\MSBuild\15.0\Bin;' + path | 
					
						
							| 
									
										
										
										
											2019-06-01 06:47:48 -07:00
										 |  |  |     if image == 'Visual Studio 2019': | 
					
						
							|  |  |  |         generator = 'Visual Studio 16 2019' | 
					
						
							|  |  |  |         if platform == 'x64': | 
					
						
							|  |  |  |             cmake_command.extend(['-A', 'x64']) | 
					
						
							|  |  |  |     else: | 
					
						
							|  |  |  |         if image == 'Visual Studio 2015': | 
					
						
							|  |  |  |             generator = 'Visual Studio 14 2015' | 
					
						
							|  |  |  |         elif image == 'Visual Studio 2017': | 
					
						
							|  |  |  |             generator = 'Visual Studio 15 2017' | 
					
						
							|  |  |  |         if platform == 'x64': | 
					
						
							|  |  |  |             generator += ' Win64' | 
					
						
							| 
									
										
										
										
											2016-06-15 16:14:31 -07:00
										 |  |  |     cmake_command.append('-G' + generator) | 
					
						
							|  |  |  |     build_command = ['cmake', '--build', '.', '--config', config, '--', '/m:4'] | 
					
						
							|  |  |  |     test_command = ['ctest', '-C', config] | 
					
						
							| 
									
										
										
										
											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) |