Support running MSVC build on AppVeyour
This commit is contained in:
		
							parent
							
								
									4e940e23a4
								
							
						
					
					
						commit
						f8269a99a8
					
				
							
								
								
									
										71
									
								
								appveyor.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								appveyor.yml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,71 @@
 | 
				
			|||||||
 | 
					version: '{build}'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					os: Visual Studio 2015
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					environment:
 | 
				
			||||||
 | 
					  matrix:
 | 
				
			||||||
 | 
					  - Toolset: v140
 | 
				
			||||||
 | 
					  - Toolset: v120
 | 
				
			||||||
 | 
					  - Toolset: v110
 | 
				
			||||||
 | 
					  - Toolset: v100
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					platform:
 | 
				
			||||||
 | 
					  - Win32
 | 
				
			||||||
 | 
					  - x64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					configuration:
 | 
				
			||||||
 | 
					#  - Release
 | 
				
			||||||
 | 
					  - Debug
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					build:
 | 
				
			||||||
 | 
					  verbosity: minimal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					artifacts:
 | 
				
			||||||
 | 
					  - path: '_build/Testing/Temporary/*'
 | 
				
			||||||
 | 
					    name: test_results
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					before_build:
 | 
				
			||||||
 | 
					- ps: |
 | 
				
			||||||
 | 
					    Write-Output "Configuration: $env:CONFIGURATION"
 | 
				
			||||||
 | 
					    Write-Output "Platform: $env:PLATFORM"
 | 
				
			||||||
 | 
					    $generator = switch ($env:TOOLSET)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        "v140" {"Visual Studio 14 2015"}
 | 
				
			||||||
 | 
					        "v120" {"Visual Studio 12 2013"}
 | 
				
			||||||
 | 
					        "v110" {"Visual Studio 11 2012"}
 | 
				
			||||||
 | 
					        "v100" {"Visual Studio 10 2010"}
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if ($env:PLATFORM -eq "x64")
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        $generator = "$generator Win64"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					build_script:
 | 
				
			||||||
 | 
					- ps: |
 | 
				
			||||||
 | 
					    if (($env:TOOLSET -eq "v100") -and ($env:PLATFORM -eq "x64"))
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    md _build -Force | Out-Null
 | 
				
			||||||
 | 
					    cd _build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    & cmake -G "$generator" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -Dgtest_build_tests=ON -Dgtest_build_samples=ON -Dgmock_build_tests=ON ..
 | 
				
			||||||
 | 
					    if ($LastExitCode -ne 0) {
 | 
				
			||||||
 | 
					        throw "Exec: $ErrorMessage"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    & cmake --build . --config $env:CONFIGURATION
 | 
				
			||||||
 | 
					    if ($LastExitCode -ne 0) {
 | 
				
			||||||
 | 
					        throw "Exec: $ErrorMessage"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					test_script:
 | 
				
			||||||
 | 
					- ps: |
 | 
				
			||||||
 | 
					    if (($env:Toolset -eq "v100") -and ($env:PLATFORM -eq "x64"))
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    & ctest -C $env:CONFIGURATION --output-on-failure
 | 
				
			||||||
 | 
					    if ($LastExitCode -ne 0) {
 | 
				
			||||||
 | 
					        throw "Exec: $ErrorMessage"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
@ -80,6 +80,10 @@ macro(config_compiler_and_linker)
 | 
				
			|||||||
      # http://stackoverflow.com/questions/3232669 explains the issue.
 | 
					      # http://stackoverflow.com/questions/3232669 explains the issue.
 | 
				
			||||||
      set(cxx_base_flags "${cxx_base_flags} -wd4702")
 | 
					      set(cxx_base_flags "${cxx_base_flags} -wd4702")
 | 
				
			||||||
    endif()
 | 
					    endif()
 | 
				
			||||||
 | 
					    if (NOT (MSVC_VERSION GREATER 1900))  # 1900 is Visual Studio 2015
 | 
				
			||||||
 | 
					      # BigObj required for tests.
 | 
				
			||||||
 | 
					      set(cxx_base_flags "${cxx_base_flags} -bigobj")
 | 
				
			||||||
 | 
					    endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    set(cxx_base_flags "${cxx_base_flags} -D_UNICODE -DUNICODE -DWIN32 -D_WIN32")
 | 
					    set(cxx_base_flags "${cxx_base_flags} -D_UNICODE -DUNICODE -DWIN32 -D_WIN32")
 | 
				
			||||||
    set(cxx_base_flags "${cxx_base_flags} -DSTRICT -DWIN32_LEAN_AND_MEAN")
 | 
					    set(cxx_base_flags "${cxx_base_flags} -DSTRICT -DWIN32_LEAN_AND_MEAN")
 | 
				
			||||||
@ -235,8 +239,16 @@ function(py_test name)
 | 
				
			|||||||
    # directly bind it from cmake. ${CTEST_CONFIGURATION_TYPE} is known
 | 
					    # directly bind it from cmake. ${CTEST_CONFIGURATION_TYPE} is known
 | 
				
			||||||
    # only at ctest runtime (by calling ctest -c <Configuration>), so
 | 
					    # only at ctest runtime (by calling ctest -c <Configuration>), so
 | 
				
			||||||
    # we have to escape $ to delay variable substitution here.
 | 
					    # we have to escape $ to delay variable substitution here.
 | 
				
			||||||
    add_test(${name}
 | 
					    if (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 3.1)
 | 
				
			||||||
      ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py
 | 
					      add_test(
 | 
				
			||||||
 | 
					        NAME ${name}
 | 
				
			||||||
 | 
					        COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py
 | 
				
			||||||
 | 
					            --build_dir=${CMAKE_CURRENT_BINARY_DIR}/$<CONFIGURATION>)
 | 
				
			||||||
 | 
					    else (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 3.1)
 | 
				
			||||||
 | 
					      add_test(
 | 
				
			||||||
 | 
					        ${name}
 | 
				
			||||||
 | 
					        ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py
 | 
				
			||||||
          --build_dir=${CMAKE_CURRENT_BINARY_DIR}/\${CTEST_CONFIGURATION_TYPE})
 | 
					          --build_dir=${CMAKE_CURRENT_BINARY_DIR}/\${CTEST_CONFIGURATION_TYPE})
 | 
				
			||||||
 | 
					    endif (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 3.1)
 | 
				
			||||||
  endif()
 | 
					  endif()
 | 
				
			||||||
endfunction()
 | 
					endfunction()
 | 
				
			||||||
 | 
				
			|||||||
@ -71,7 +71,7 @@ FooTest\.
 | 
				
			|||||||
TypedTest/0\.  # TypeParam = (VeryLo{245}|class VeryLo{239})\.\.\.
 | 
					TypedTest/0\.  # TypeParam = (VeryLo{245}|class VeryLo{239})\.\.\.
 | 
				
			||||||
  TestA
 | 
					  TestA
 | 
				
			||||||
  TestB
 | 
					  TestB
 | 
				
			||||||
TypedTest/1\.  # TypeParam = int\s*\*
 | 
					TypedTest/1\.  # TypeParam = int\s*\*( __ptr64)?
 | 
				
			||||||
  TestA
 | 
					  TestA
 | 
				
			||||||
  TestB
 | 
					  TestB
 | 
				
			||||||
TypedTest/2\.  # TypeParam = .*MyArray<bool,\s*42>
 | 
					TypedTest/2\.  # TypeParam = .*MyArray<bool,\s*42>
 | 
				
			||||||
@ -80,7 +80,7 @@ TypedTest/2\.  # TypeParam = .*MyArray<bool,\s*42>
 | 
				
			|||||||
My/TypeParamTest/0\.  # TypeParam = (VeryLo{245}|class VeryLo{239})\.\.\.
 | 
					My/TypeParamTest/0\.  # TypeParam = (VeryLo{245}|class VeryLo{239})\.\.\.
 | 
				
			||||||
  TestA
 | 
					  TestA
 | 
				
			||||||
  TestB
 | 
					  TestB
 | 
				
			||||||
My/TypeParamTest/1\.  # TypeParam = int\s*\*
 | 
					My/TypeParamTest/1\.  # TypeParam = int\s*\*( __ptr64)?
 | 
				
			||||||
  TestA
 | 
					  TestA
 | 
				
			||||||
  TestB
 | 
					  TestB
 | 
				
			||||||
My/TypeParamTest/2\.  # TypeParam = .*MyArray<bool,\s*42>
 | 
					My/TypeParamTest/2\.  # TypeParam = .*MyArray<bool,\s*42>
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user