Merge pull request #4587 from chronoxor/master

Appveyor MinGW build
pull/4505/merge
Feng Xiao 7 years ago committed by GitHub
commit 4600f789a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 14
      appveyor.bat
  2. 14
      appveyor.yml
  3. 4
      cmake/tests.cmake

@ -1,11 +1,23 @@
setlocal setlocal
IF %platform%==MinGW GOTO build_mingw
IF %language%==cpp GOTO build_cpp IF %language%==cpp GOTO build_cpp
IF %language%==csharp GOTO build_csharp IF %language%==csharp GOTO build_csharp
echo Unsupported language %language%. Exiting. echo Unsupported language %language% and platform %platform%. Exiting.
goto :error goto :error
:build_mingw
echo Building MinGW
set PATH=C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH:C:\Program Files\Git\usr\bin;=%
mkdir build_mingw
cd build_mingw
cmake -G "%generator%" -Dprotobuf_BUILD_SHARED_LIBS=%BUILD_DLL% -Dprotobuf_UNICODE=%UNICODE% -Dprotobuf_BUILD_TESTS=0 ../cmake
mingw32-make -j8 all || goto error
rem cd %configuration%
rem tests.exe || goto error
goto :EOF
:build_cpp :build_cpp
echo Building C++ echo Building C++
mkdir build_msvc mkdir build_msvc

@ -1,20 +1,23 @@
# Only test one combination: "Visual Studio 12 + Win64 + Debug + DLL". We can # Only test one combination: "Visual Studio 12 + Win64 + Debug + DLL". We can
# test more combinations but AppVeyor just takes too long to finish (each # test more combinations but AppVeyor just takes too long to finish (each
# combination takes ~15mins). # combination takes ~15mins).
platform:
- Win64
configuration: configuration:
- Debug - Debug
environment: environment:
matrix: matrix:
- language: cpp - platform: MinGW
language: cpp
image: Visual Studio 2015
- platform: Win64
language: cpp
image: Visual Studio 2015 image: Visual Studio 2015
BUILD_DLL: ON BUILD_DLL: ON
UNICODE: ON UNICODE: ON
- language: csharp - platform: Win64
language: csharp
image: Visual Studio 2017 image: Visual Studio 2017
# Our build scripts run tests automatically; we don't want AppVeyor # Our build scripts run tests automatically; we don't want AppVeyor
@ -25,6 +28,7 @@ install:
- git submodule update --init --recursive - git submodule update --init --recursive
before_build: before_build:
- if %platform%==MinGW set generator=MinGW Makefiles
- if %platform%==Win32 set generator=Visual Studio 14 - if %platform%==Win32 set generator=Visual Studio 14
- if %platform%==Win64 set generator=Visual Studio 14 Win64 - if %platform%==Win64 set generator=Visual Studio 14 Win64
- if %platform%==Win32 set vcplatform=Win32 - if %platform%==Win32 set vcplatform=Win32

@ -204,6 +204,10 @@ if(protobuf_ABSOLUTE_TEST_PLUGIN_PATH)
add_compile_options(-DGOOGLE_PROTOBUF_TEST_PLUGIN_PATH="$<TARGET_FILE:test_plugin>") add_compile_options(-DGOOGLE_PROTOBUF_TEST_PLUGIN_PATH="$<TARGET_FILE:test_plugin>")
endif() endif()
if(MINGW)
set_source_files_properties(${tests_files} PROPERTIES COMPILE_FLAGS "-Wno-narrowing")
endif()
add_executable(tests ${tests_files} ${common_test_files} ${tests_proto_files} ${lite_test_proto_files}) add_executable(tests ${tests_files} ${common_test_files} ${tests_proto_files} ${lite_test_proto_files})
target_link_libraries(tests libprotoc libprotobuf gmock_main) target_link_libraries(tests libprotoc libprotobuf gmock_main)

Loading…
Cancel
Save