Add MinGW and MinGW-w64 tests to AppVeyor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
diff --git a/.appveyor.yml b/.appveyor.yml
index 92184b2..c269f59 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -26,6 +26,66 @@
environment:
matrix:
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
+ GENERATOR: "MinGW Makefiles"
+ cc_path: 'C:\MinGW\bin'
+ BUILD_SHARED_LIBS: ON
+
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
+ GENERATOR: "MinGW Makefiles"
+ cc_path: 'C:\MinGW\bin'
+ BUILD_SHARED_LIBS: OFF
+
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
+ GENERATOR: "MinGW Makefiles"
+ cc_path: 'C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw32\bin'
+ BUILD_SHARED_LIBS: ON
+
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
+ GENERATOR: "MinGW Makefiles"
+ cc_path: 'C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw32\bin'
+ BUILD_SHARED_LIBS: OFF
+
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
+ GENERATOR: "MinGW Makefiles"
+ cc_path: 'C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin'
+ BUILD_SHARED_LIBS: ON
+
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
+ GENERATOR: "MinGW Makefiles"
+ cc_path: 'C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin'
+ BUILD_SHARED_LIBS: OFF
+
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
+ GENERATOR: "MinGW Makefiles"
+ cc_path: 'C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin'
+ BUILD_SHARED_LIBS: ON
+
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
+ GENERATOR: "MinGW Makefiles"
+ cc_path: 'C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin'
+ BUILD_SHARED_LIBS: OFF
+
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
+ GENERATOR: "MinGW Makefiles"
+ cc_path: 'C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin'
+ BUILD_SHARED_LIBS: ON
+
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
+ GENERATOR: "MinGW Makefiles"
+ cc_path: 'C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin'
+ BUILD_SHARED_LIBS: OFF
+
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
+ GENERATOR: "MinGW Makefiles"
+ cc_path: 'C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin'
+ BUILD_SHARED_LIBS: ON
+
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
+ GENERATOR: "MinGW Makefiles"
+ cc_path: 'C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin'
+ BUILD_SHARED_LIBS: OFF
+
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
GENERATOR: "Visual Studio 15 2017"
BUILD_SHARED_LIBS: ON
@@ -58,19 +118,38 @@ configuration:
- Debug
- Release
+matrix:
+ exclude:
+ - platform: x64
+ cc_path: 'C:\MinGW\bin'
+ - platform: x64
+ cc_path: 'C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw32\bin'
+ - platform: x64
+ cc_path: 'C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin'
+ - platform: Win32
+ cc_path: 'C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin'
+ - platform: Win32
+ cc_path: 'C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin'
+ - platform: Win32
+ cc_path: 'C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin'
+
before_build:
+ # See https://help.appveyor.com/discussions/problems/3193-cmake-building-for-mingw-issue-with-git-shexe
+ - if "%generator%"=="MinGW Makefiles" (set "PATH=%PATH:C:\Program Files\Git\usr\bin;=%")
+ - if not "%cc_path%"=="" (set "PATH=%PATH%;%cc_path%")
+ - if /I "%GENERATOR%" == "MinGW Makefiles" (set "GENERATOR_ARGS=") else (set "GENERATOR_ARGS=-A %PLATFORM%")
- md build
- cd build
- - cmake -G "%GENERATOR%" -A "%PLATFORM%" -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS% -DBUILD_TESTS=ON -DCMAKE_INSTALL_PREFIX=install ..
+ - cmake -G "%GENERATOR%" %GENERATOR_ARGS% -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS% -DBUILD_TESTS=ON -DCMAKE_INSTALL_PREFIX=install ..
-build:
- project: build/dlfcn-win32.sln
+build_script:
+ - cmake --build . --config "%CONFIGURATION%"
test_script:
- ctest --output-on-failure --build-config "%CONFIGURATION%"
after_test:
- - cmake --build . --config "%CONFIGURATION%" --target INSTALL
+ - cmake --build . --config "%CONFIGURATION%" --target install
# Test also the use of dlfcn-win32 from an external CMake project
# Append the instllation directory of dlfcn-win32 to CMAKE_PREFIX_PATH to make sure that the CMake project is found
- set CMAKE_PREFIX_PATH=%APPVEYOR_BUILD_FOLDER%/build/install
@@ -79,6 +158,6 @@ after_test:
- cd ../cmake-test
- md build
- cd build
- - cmake -G "%GENERATOR%" -A "%PLATFORM%" -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS% -DBUILD_TESTS=ON ..
+ - cmake -G "%GENERATOR%" %GENERATOR_ARGS% -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS% ..
- cmake --build . --config "%CONFIGURATION%"
- ctest --output-on-failure --build-config "%CONFIGURATION%"