Merge pull request #870 from KindDragon/mingw64-appveyour
AppVeyor MinGW-w64 test build
This commit is contained in:
		
						commit
						b6bf0fd3c0
					
				
							
								
								
									
										89
									
								
								appveyor.yml
									
									
									
									
									
								
							
							
						
						
									
										89
									
								
								appveyor.yml
									
									
									
									
									
								
							@ -4,68 +4,85 @@ os: Visual Studio 2015
 | 
			
		||||
 | 
			
		||||
environment:
 | 
			
		||||
  matrix:
 | 
			
		||||
  - Toolset: v140
 | 
			
		||||
  - Toolset: v120
 | 
			
		||||
  - Toolset: v110
 | 
			
		||||
  - Toolset: v100
 | 
			
		||||
    - compiler: msvc-14-seh
 | 
			
		||||
      generator: "Visual Studio 14 2015"
 | 
			
		||||
 | 
			
		||||
platform:
 | 
			
		||||
  - Win32
 | 
			
		||||
  - x64
 | 
			
		||||
    - compiler: msvc-14-seh
 | 
			
		||||
      generator: "Visual Studio 14 2015 Win64"
 | 
			
		||||
 | 
			
		||||
    - compiler: msvc-12-seh
 | 
			
		||||
      generator: "Visual Studio 12 2013"
 | 
			
		||||
 | 
			
		||||
    - compiler: msvc-12-seh
 | 
			
		||||
      generator: "Visual Studio 12 2013 Win64"
 | 
			
		||||
 | 
			
		||||
    - compiler: msvc-11-seh
 | 
			
		||||
      generator: "Visual Studio 11 2012"
 | 
			
		||||
 | 
			
		||||
    - compiler: msvc-11-seh
 | 
			
		||||
      generator: "Visual Studio 11 2012 Win64"
 | 
			
		||||
 | 
			
		||||
    - compiler: msvc-10-seh
 | 
			
		||||
      generator: "Visual Studio 10 2010"
 | 
			
		||||
 | 
			
		||||
    - compiler: gcc-5.3.0-posix
 | 
			
		||||
      generator: "MinGW Makefiles"
 | 
			
		||||
      cxx_path: 'C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw32\bin'
 | 
			
		||||
 | 
			
		||||
    - compiler: gcc-6.3.0-posix
 | 
			
		||||
      generator: "MinGW Makefiles"
 | 
			
		||||
      cxx_path: 'C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin'
 | 
			
		||||
 | 
			
		||||
configuration:
 | 
			
		||||
#  - Release
 | 
			
		||||
  - Debug
 | 
			
		||||
  #- Release
 | 
			
		||||
 | 
			
		||||
build:
 | 
			
		||||
  verbosity: minimal
 | 
			
		||||
 | 
			
		||||
artifacts:
 | 
			
		||||
  - path: '_build/Testing/Temporary/*'
 | 
			
		||||
    name: test_results
 | 
			
		||||
 | 
			
		||||
before_build:
 | 
			
		||||
install:
 | 
			
		||||
- 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"
 | 
			
		||||
    Write-Output "Compiler: $env:compiler"
 | 
			
		||||
    Write-Output "Generator: $env:generator"
 | 
			
		||||
 | 
			
		||||
    # git bash conflicts with MinGW makefiles
 | 
			
		||||
    if ($env:generator -eq "MinGW Makefiles") {
 | 
			
		||||
        $env:path = $env:path.replace("C:\Program Files\Git\usr\bin;", "")
 | 
			
		||||
        if ($env:cxx_path -ne "") {
 | 
			
		||||
            $env:path += ";$env:cxx_path"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
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 ..
 | 
			
		||||
    $conf = if ($env:generator -eq "MinGW Makefiles") {"-DCMAKE_BUILD_TYPE=$env:configuration"} else {"-DCMAKE_CONFIGURATION_TYPES=Debug;Release"}
 | 
			
		||||
    # Disable test for MinGW (gtest tests fail, gmock tests can not build)
 | 
			
		||||
    $gtest_build_tests = if ($env:generator -eq "MinGW Makefiles") {"-Dgtest_build_tests=OFF"} else {"-Dgtest_build_tests=ON"}
 | 
			
		||||
    $gmock_build_tests = if ($env:generator -eq "MinGW Makefiles") {"-Dgmock_build_tests=OFF"} else {"-Dgmock_build_tests=ON"}
 | 
			
		||||
    & cmake -G "$env:generator" $conf -Dgtest_build_samples=ON $gtest_build_tests $gmock_build_tests ..
 | 
			
		||||
    if ($LastExitCode -ne 0) {
 | 
			
		||||
        throw "Exec: $ErrorMessage"
 | 
			
		||||
    }
 | 
			
		||||
    & cmake --build . --config $env:CONFIGURATION
 | 
			
		||||
    & 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
 | 
			
		||||
    if ($env:generator -eq "MinGW Makefiles") {
 | 
			
		||||
        return # No test available for MinGW
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    & ctest -C $env:CONFIGURATION --output-on-failure
 | 
			
		||||
    & ctest -C $env:configuration --timeout 300 --output-on-failure
 | 
			
		||||
    if ($LastExitCode -ne 0) {
 | 
			
		||||
        throw "Exec: $ErrorMessage"
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
artifacts:
 | 
			
		||||
  - path: '_build/CMakeFiles/*.log'
 | 
			
		||||
    name: logs
 | 
			
		||||
  - path: '_build/Testing/**/*.xml'
 | 
			
		||||
    name: test_results
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user