# Copyright (c) 2014 Ruslan Baratov # Copyright (c) 2014, 2016 Alexander Lamaison # Copyright (c) 2017 Silvio Traversaro # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # # * Redistributions of source code must retain the above copyright notice, this # list of conditions and the following disclaimer. # # * Redistributions in binary form must reproduce the above copyright notice, # this list of conditions and the following disclaimer in the documentation # and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. environment: matrix: - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: ON cc_path: 'C:\MinGW\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: ON cc_path: 'C:\MinGW\bin' CFLAGS: '-DUNICODE -D_UNICODE' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: OFF cc_path: 'C:\MinGW\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: OFF CFLAGS: '-DUNICODE -D_UNICODE' cc_path: 'C:\MinGW\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: ON cc_path: 'C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw32\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: ON CFLAGS: '-DUNICODE -D_UNICODE' cc_path: 'C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw32\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: OFF cc_path: 'C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw32\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: OFF CFLAGS: '-DUNICODE -D_UNICODE' cc_path: 'C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw32\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: ON cc_path: 'C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: ON CFLAGS: '-DUNICODE -D_UNICODE' cc_path: 'C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: OFF cc_path: 'C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: OFF CFLAGS: '-DUNICODE -D_UNICODE' cc_path: 'C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: ON cc_path: 'C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: ON CFLAGS: '-DUNICODE -D_UNICODE' cc_path: 'C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: OFF cc_path: 'C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: OFF CFLAGS: '-DUNICODE -D_UNICODE' cc_path: 'C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: ON cc_path: 'C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: ON CFLAGS: '-DUNICODE -D_UNICODE' cc_path: 'C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: OFF cc_path: 'C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: OFF CFLAGS: '-DUNICODE -D_UNICODE' cc_path: 'C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: ON cc_path: 'C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: ON CFLAGS: '-DUNICODE -D_UNICODE' cc_path: 'C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: OFF cc_path: 'C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - GENERATOR: "MinGW Makefiles" BUILD_SHARED_LIBS: OFF CFLAGS: '-DUNICODE -D_UNICODE' cc_path: 'C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - GENERATOR: "Visual Studio 15 2017" BUILD_SHARED_LIBS: ON APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - GENERATOR: "Visual Studio 15 2017" BUILD_SHARED_LIBS: ON CFLAGS: '/DUNICODE /D_UNICODE' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - GENERATOR: "Visual Studio 15 2017" BUILD_SHARED_LIBS: OFF APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - GENERATOR: "Visual Studio 15 2017" BUILD_SHARED_LIBS: OFF CFLAGS: '/DUNICODE /D_UNICODE' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - GENERATOR: "Visual Studio 14 2015" BUILD_SHARED_LIBS: ON APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "Visual Studio 14 2015" BUILD_SHARED_LIBS: ON CFLAGS: '/DUNICODE /D_UNICODE' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "Visual Studio 14 2015" BUILD_SHARED_LIBS: OFF APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "Visual Studio 14 2015" BUILD_SHARED_LIBS: OFF CFLAGS: '/DUNICODE /D_UNICODE' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "Visual Studio 12 2013" BUILD_SHARED_LIBS: ON APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "Visual Studio 12 2013" BUILD_SHARED_LIBS: ON CFLAGS: '/DUNICODE /D_UNICODE' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "Visual Studio 12 2013" BUILD_SHARED_LIBS: OFF APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - GENERATOR: "Visual Studio 12 2013" BUILD_SHARED_LIBS: OFF CFLAGS: '/DUNICODE /D_UNICODE' APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 platform: - Win32 - x64 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%" %GENERATOR_ARGS% -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS% -DBUILD_TESTS=ON -DCMAKE_INSTALL_PREFIX=install .. build_script: - cmake --build . --config "%CONFIGURATION%" test_script: - ctest --output-on-failure --build-config "%CONFIGURATION%" after_test: - 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 # Append the bin installation directory of dlfcn-win32 to the path to make sure that .dll are found - set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%/build/install/bin - cd ../cmake-test - md build - cd build - 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%"