Problem: No CI for mingw64 (#3195)

* Problem: No CI for mingw64

Adding CI support for mingw64 to appveyor.yml

Reason: To help address the issue:
  Several checks fail under 64-bit MinGW on Windows when running make check #3185

* Problem: Docs do not build with mingw64, dll already in right place

Turning off WITH_DOC for mingw64
Removing copy command for mingw64 and cygwin64 (it now seems to be directly built in "bin" directoy)
This commit is contained in:
chymanfx 2018-07-29 22:40:35 +01:00 committed by Luca Boccassi
parent ebe701afc1
commit da8024d3c9
2 changed files with 29 additions and 17 deletions

View File

@ -459,12 +459,10 @@ elseif (CMAKE_SYSTEM_NAME MATCHES "Darwin")
add_definitions (-D_DARWIN_C_SOURCE)
endif ()
set (CMAKE_PYTHON_VERSION 2.7 2.6 2.5 2.4)
find_package (PythonInterp)
find_package (AsciiDoc)
cmake_dependent_option (WITH_DOC "Build Reference Guide documentation (requires DocBook)" ON
"PYTHONINTERP_FOUND;ASCIIDOC_FOUND" OFF)
"ASCIIDOC_FOUND;NOT WIN32" OFF) # Do not build docs on Windows due to issues with symlinks
if (MSVC)
if (WITH_OPENPGM)

View File

@ -69,11 +69,16 @@ environment:
WITH_LIBSODIUM: OFF
ENABLE_CURVE: ON
CMAKE_GENERATOR: "Unix Makefiles"
- platform: mingw64
WITH_LIBSODIUM: OFF
ENABLE_CURVE: ON
CMAKE_GENERATOR: "MSYS Makefiles"
matrix:
fast_finish: false
allow_failures:
- platform: cygwin64 # TODO allow failures until tests are fixed
- platform: mingw64 # TODO allow failures until tests are fixed
init:
- cmd: if "%NO_PR%"=="TRUE" (
@ -94,11 +99,13 @@ cache:
install:
- cmd: if "%Platform%"=="cygwin64" C:\cygwin64\setup-x86_64.exe --quiet-mode --no-shortcuts --upgrade-also --packages cmake,cygwin-devel,gcc-g++,libncurses-devel,make,pkg-config
- cmd: if "%Platform%"=="cygwin64" set PATH=C:\cygwin64\bin;%PATH%
- cmd: if "%Platform%"=="mingw64" C:\msys64\usr\bin\bash -lc "pacman -Qg"
- cmd: if "%Platform%"=="mingw64" set PATH=C:\msys64\usr\bin;%PATH%
- cmd: if "%Platform%"=="x64" set "CMAKE_GENERATOR=%CMAKE_GENERATOR% Win64"
- cmd: echo "Generator='%CMAKE_GENERATOR%'"
- cmd: echo "Platform='%Platform%'"
- cmd: if "%WITH_LIBSODIUM%"=="ON" set LIBSODIUMDIR=C:\projects\libsodium
- if "%WITH_LIBSODIUM%"=="ON" (
- cmd: if "%WITH_LIBSODIUM%"=="ON" (
if not exist "%LIBSODIUMDIR%" (
git clone --branch stable --depth 1 --quiet "https://github.com/jedisct1/libsodium.git" %LIBSODIUMDIR%
) else (
@ -122,8 +129,9 @@ before_build:
# - cmd: set BUILDLOG="%LIBZMQ_SRCDIR%\build.log"
- cmd: md "%LIBZMQ_BUILDDIR%"
- cd "%LIBZMQ_BUILDDIR%"
- cmd: if "%PLATFORM%" == "Win32" set EXTRA_FLAGS='-D CMAKE_C_FLAGS_RELEASE="/MT" -D CMAKE_C_FLAGS_DEBUG="/MTd"'
- cmd: if "%PLATFORM%" == "x64" set EXTRA_FLAGS='-D CMAKE_C_FLAGS_RELEASE="/MT" -D CMAKE_C_FLAGS_DEBUG="/MTd"'
- cmd: if "%PLATFORM%" == "cygwin64" set APPVEYOR_BUILD_FOLDER=/cygdrive/C/projects/libzmq
- cmd: if "%PLATFORM%" NEQ "cygwin64" set EXTRA_FLAGS='-D CMAKE_C_FLAGS_RELEASE="/MT" -D CMAKE_C_FLAGS_DEBUG="/MTd"'
- cmd: cmake -D CMAKE_INCLUDE_PATH="%SODIUM_INCLUDE_DIR%" -D CMAKE_LIBRARY_PATH="%SODIUM_LIBRARY_DIR%" -D WITH_LIBSODIUM="%WITH_LIBSODIUM%" -D ENABLE_DRAFTS="%ENABLE_DRAFTS%" -D ENABLE_ANALYSIS="%ENABLE_ANALYSIS%" -D ENABLE_CURVE="%ENABLE_CURVE%" -D API_POLLER="%API_POLLER%" -D POLLER="%POLLER%" %EXTRA_FLAGS% -D WITH_LIBSODIUM="%WITH_LIBSODIUM%" -D LIBZMQ_WERROR="ON" -G "%CMAKE_GENERATOR%" "%APPVEYOR_BUILD_FOLDER%"
- cmd: cd "%LIBZMQ_SRCDIR%"
@ -132,16 +140,22 @@ build_script:
- cmd: if "%MSVCYEAR%"=="vs2008" set verbosity=Normal
- cmd: if "%MSVCYEAR%"=="vs2008" set path=C:\Windows\Microsoft.NET\Framework\v3.5;%path%
- cmd: cd "%LIBZMQ_BUILDDIR%"
- cmd: if "%PLATFORM%" NEQ "cygwin64" (
- cmd: if "%PLATFORM%" == "Win32" (
if "%MSVCYEAR%"=="vs2008" (
cmake --build %LIBZMQ_BUILDDIR% --config %configuration% --target install
) else (
cmake --build %LIBZMQ_BUILDDIR% --config %configuration% --target install -- -verbosity:Minimal -maxcpucount -logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
)
)
- cmd: if "%PLATFORM%" == "cygwin64" cmake --build . -- -j5
# TODO this is definitely not the optimal place&way to do this
- cmd: if "%PLATFORM%" == "cygwin64" cp lib/libzmq-5.dll bin
- cmd: if "%PLATFORM%" == "x64" (
cmake --build %LIBZMQ_BUILDDIR% --config %configuration% --target install -- -verbosity:Minimal -maxcpucount -logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
)
- cmd: if "%PLATFORM%" == "cygwin64" (
cmake --build . -- -j5
)
- cmd: if "%PLATFORM%" == "mingw64" (
cmake --build . -- -j5
)
# TODO this does not work with sonarcloud.io, as it misses the sonar-cxx plugin
# build_script: