aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Ivan Shynkarenka <chronoxor@gmail.com>2018-05-03 01:47:17 +0300
committerGravatar Ivan Shynkarenka <chronoxor@gmail.com>2018-05-03 03:17:19 +0300
commitfeb183d895a2ea04910641be7f9cb9fe1df7b69e (patch)
tree2a4d7825d65feecf4e7b6658b30e7bfedc07c989
parent92898e9e9cb2f1c006fcc5099c9c96eafce63dc8 (diff)
Appveyor MinGW build
-rw-r--r--appveyor.bat14
-rw-r--r--appveyor.yml14
-rw-r--r--cmake/tests.cmake4
3 files changed, 26 insertions, 6 deletions
diff --git a/appveyor.bat b/appveyor.bat
index e59ebccc..29ec4922 100644
--- a/appveyor.bat
+++ b/appveyor.bat
@@ -1,11 +1,23 @@
setlocal
+IF %platform%==MinGW GOTO build_mingw
IF %language%==cpp GOTO build_cpp
IF %language%==csharp GOTO build_csharp
-echo Unsupported language %language%. Exiting.
+echo Unsupported language %language% and platform %platform%. Exiting.
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
echo Building C++
mkdir build_msvc
diff --git a/appveyor.yml b/appveyor.yml
index 02e0d313..05ee0c63 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,20 +1,23 @@
# Only test one combination: "Visual Studio 12 + Win64 + Debug + DLL". We can
# test more combinations but AppVeyor just takes too long to finish (each
# combination takes ~15mins).
-platform:
- - Win64
-
configuration:
- Debug
environment:
matrix:
- - language: cpp
+ - platform: MinGW
+ language: cpp
+ image: Visual Studio 2015
+
+ - platform: Win64
+ language: cpp
image: Visual Studio 2015
BUILD_DLL: ON
UNICODE: ON
- - language: csharp
+ - platform: Win64
+ language: csharp
image: Visual Studio 2017
# Our build scripts run tests automatically; we don't want AppVeyor
@@ -25,6 +28,7 @@ install:
- git submodule update --init --recursive
before_build:
+ - if %platform%==MinGW set generator=MinGW Makefiles
- if %platform%==Win32 set generator=Visual Studio 14
- if %platform%==Win64 set generator=Visual Studio 14 Win64
- if %platform%==Win32 set vcplatform=Win32
diff --git a/cmake/tests.cmake b/cmake/tests.cmake
index ec790e33..f91567b8 100644
--- a/cmake/tests.cmake
+++ b/cmake/tests.cmake
@@ -204,6 +204,10 @@ if(protobuf_ABSOLUTE_TEST_PLUGIN_PATH)
add_compile_options(-DGOOGLE_PROTOBUF_TEST_PLUGIN_PATH="$<TARGET_FILE:test_plugin>")
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})
target_link_libraries(tests libprotoc libprotobuf gmock_main)