Skip to content

Commit 6270a1f

Browse files
committed
AppVeyor: Build for MinGW 32/64.
1 parent 3db24d4 commit 6270a1f

File tree

4 files changed

+60
-31
lines changed

4 files changed

+60
-31
lines changed

appveyor.yml

+33-6
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,37 @@ os: Visual Studio 2015
33

44
environment:
55
RUBY_VERSION: 200
6-
BOOST_ROOT: C:\Libraries\boost_1_59_0
7-
BOOST_INCLUDEDIR: C:\Libraries\boost_1_59_0\boost
86
matrix:
9-
- platform: x86
7+
- build: mingw
8+
platform: x86
9+
MINGW_ARCH: i686
10+
MSYSTEM: MINGW32
11+
MINGW_ROOT: C:\msys64\mingw32
12+
BOOST_ROOT: C:\msys64\mingw32
13+
BOOST_LIBRARYDIR: C:\msys64\mingw32\lib
14+
BOOST_INCLUDEDIR: C:\msys64\mingw32\include\boost
15+
CMAKE_GENERATOR: 'MSYS Makefiles'
16+
- build: mingw
17+
platform: x64
18+
MINGW_ARCH: x86_64
19+
MSYSTEM: MINGW64
20+
MINGW_ROOT: C:\msys64\mingw64
21+
BOOST_ROOT: C:\msys64\mingw64
22+
BOOST_LIBRARYDIR: C:\msys64\mingw64\lib
23+
BOOST_INCLUDEDIR: C:\msys64\mingw64\include\boost
24+
CMAKE_GENERATOR: 'MSYS Makefiles'
25+
- build: msvc
26+
platform: x86
27+
BOOST_ROOT: C:\Libraries\boost_1_59_0
1028
BOOST_LIBRARYDIR: C:\Libraries\boost_1_59_0\lib32-msvc-14.0
11-
- platform: x64
29+
BOOST_INCLUDEDIR: C:\Libraries\boost_1_59_0\boost
30+
CMAKE_GENERATOR: 'NMake Makefiles'
31+
- build: msvc
32+
platform: x64
33+
BOOST_ROOT: C:\Libraries\boost_1_59_0
34+
BOOST_INCLUDEDIR: C:\Libraries\boost_1_59_0\boost
1235
BOOST_LIBRARYDIR: C:\Libraries\boost_1_59_0\lib64-msvc-14.0
36+
CMAKE_GENERATOR: 'NMake Makefiles'
1337

1438
install:
1539
- git submodule init
@@ -18,11 +42,14 @@ install:
1842
- gem install bundle
1943
- bundle install
2044
- bundle env
45+
- if "%build%"=="mingw" set PATH=%MINGW_ROOT%\bin;C:\msys64\usr\bin\;%PATH%
46+
- if "%build%"=="mingw" set MSYSTEM=%MSYSTEM%
47+
- if "%build%"=="mingw" bash -lc "pacman --needed --noconfirm -S mingw-w64-%MINGW_ARCH%-boost
2148

2249
build_script:
23-
- cmd: call "%VS140COMNTOOLS%\..\..\VC\vcvarsall.bat" %PLATFORM%
50+
- cmd: if "%build%"=="msvc" call "%VS140COMNTOOLS%\..\..\VC\vcvarsall.bat" %PLATFORM%
2451
- cmd: cmake -E make_directory build
25-
- cmd: cmake -E chdir build cmake -G "NMake Makefiles" -DCUKE_ENABLE_EXAMPLES=on -DBOOST_ROOT="%BOOST_ROOT%" -DBOOST_INCLUDEDIR="%BOOST_INCLUDEDIR%" -DBOOST_LIBRARYDIR="%BOOST_LIBRARYDIR%" ..
52+
- cmd: cmake -E chdir build cmake -G "%CMAKE_GENERATOR%" -DCUKE_ENABLE_EXAMPLES=ON -DBOOST_ROOT="%BOOST_ROOT%" -DBOOST_INCLUDEDIR="%BOOST_INCLUDEDIR%" -DBOOST_LIBRARYDIR="%BOOST_LIBRARYDIR%" ..
2653
- cmd: cmake --build build
2754

2855
test_script:

cmake/modules/FindGMock.cmake

+25-23
Original file line numberDiff line numberDiff line change
@@ -258,12 +258,6 @@ if(NOT (${GMOCK_LIBRARY_EXISTS} AND ${GTEST_LIBRARY_EXISTS}))
258258

259259
include(ExternalProject)
260260

261-
if(MSVC)
262-
set(Suffix ".lib")
263-
else()
264-
set(Suffix ".a")
265-
endif()
266-
267261
if(GTEST_USE_STATIC_LIBS)
268262
set(GTEST_CMAKE_ARGS -Dgtest_force_shared_crt:BOOL=ON -DBUILD_SHARED_LIBS=OFF)
269263
set(GTEST_LIBRARY_PREFIX ${CMAKE_STATIC_LIBRARY_PREFIX})
@@ -284,7 +278,9 @@ if(NOT (${GMOCK_LIBRARY_EXISTS} AND ${GTEST_LIBRARY_EXISTS}))
284278
LOG_DOWNLOAD ON
285279
LOG_CONFIGURE ON
286280
LOG_BUILD ON
287-
CMAKE_ARGS ${GTEST_CMAKE_ARGS}
281+
CMAKE_ARGS
282+
-Dgtest_disable_pthreads=${MINGW}
283+
${GTEST_CMAKE_ARGS}
288284
)
289285
externalproject_add(
290286
gmock
@@ -295,7 +291,9 @@ if(NOT (${GMOCK_LIBRARY_EXISTS} AND ${GTEST_LIBRARY_EXISTS}))
295291
LOG_DOWNLOAD ON
296292
LOG_CONFIGURE ON
297293
LOG_BUILD ON
298-
CMAKE_ARGS ${GTEST_CMAKE_ARGS}
294+
CMAKE_ARGS
295+
-Dgtest_disable_pthreads=${MINGW}
296+
${GTEST_CMAKE_ARGS}
299297
DEPENDS gtest
300298
)
301299

@@ -308,16 +306,16 @@ if(NOT (${GMOCK_LIBRARY_EXISTS} AND ${GTEST_LIBRARY_EXISTS}))
308306
externalproject_get_property(gtest source_dir binary_dir)
309307
set(GTEST_INCLUDE_DIR "${source_dir}/include")
310308
mark_as_advanced(GTEST_INCLUDE_DIR)
311-
set(GTEST_LIBRARY "${binary_dir}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest${Suffix}")
309+
set(GTEST_LIBRARY "${binary_dir}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}")
312310
mark_as_advanced(GTEST_LIBRARY)
313-
set(GTEST_MAIN_LIBRARY "${binary_dir}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest_main${Suffix}")
311+
set(GTEST_MAIN_LIBRARY "${binary_dir}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
314312
mark_as_advanced(GTEST_MAIN_LIBRARY)
315313
externalproject_get_property(gmock source_dir binary_dir)
316314
set(GMOCK_INCLUDE_DIR "${source_dir}/include")
317315
mark_as_advanced(GMOCK_INCLUDE_DIR)
318-
set(GMOCK_LIBRARY "${binary_dir}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock${Suffix}")
316+
set(GMOCK_LIBRARY "${binary_dir}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock${CMAKE_STATIC_LIBRARY_SUFFIX}")
319317
mark_as_advanced(GMOCK_LIBRARY)
320-
set(GMOCK_MAIN_LIBRARY "${binary_dir}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock_main${Suffix}")
318+
set(GMOCK_MAIN_LIBRARY "${binary_dir}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
321319
mark_as_advanced(GMOCK_MAIN_LIBRARY)
322320
else() #1.8.0
323321
externalproject_add(
@@ -329,7 +327,9 @@ if(NOT (${GMOCK_LIBRARY_EXISTS} AND ${GTEST_LIBRARY_EXISTS}))
329327
LOG_DOWNLOAD ON
330328
LOG_CONFIGURE ON
331329
LOG_BUILD ON
332-
CMAKE_ARGS ${GTEST_CMAKE_ARGS}
330+
CMAKE_ARGS
331+
-Dgtest_disable_pthreads=${MINGW}
332+
${GTEST_CMAKE_ARGS}
333333
)
334334

335335
add_dependencies(GTest::GTest gmock)
@@ -339,11 +339,11 @@ if(NOT (${GMOCK_LIBRARY_EXISTS} AND ${GTEST_LIBRARY_EXISTS}))
339339

340340
externalproject_get_property(gmock source_dir binary_dir)
341341
set(GTEST_INCLUDE_DIR "${source_dir}/googletest/include")
342-
set(GTEST_LIBRARY "${binary_dir}/googlemock/gtest/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest${Suffix}")
343-
set(GTEST_MAIN_LIBRARY "${binary_dir}/googlemock/gtest/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest_main${Suffix}")
342+
set(GTEST_LIBRARY "${binary_dir}/googlemock/gtest/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}")
343+
set(GTEST_MAIN_LIBRARY "${binary_dir}/googlemock/gtest/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
344344
set(GMOCK_INCLUDE_DIR "${source_dir}/googlemock/include")
345-
set(GMOCK_LIBRARY "${binary_dir}/googlemock/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock${Suffix}")
346-
set(GMOCK_MAIN_LIBRARY "${binary_dir}/googlemock/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock_main${Suffix}")
345+
set(GMOCK_LIBRARY "${binary_dir}/googlemock/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock${CMAKE_STATIC_LIBRARY_SUFFIX}")
346+
set(GMOCK_MAIN_LIBRARY "${binary_dir}/googlemock/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
347347
mark_as_advanced(GMOCK_LIBRARY)
348348
mark_as_advanced(GMOCK_INCLUDE_DIR)
349349
mark_as_advanced(GTEST_MAIN_LIBRARY)
@@ -358,10 +358,12 @@ if(NOT (${GMOCK_LIBRARY_EXISTS} AND ${GTEST_LIBRARY_EXISTS}))
358358
SOURCE_DIR ${GMOCK_SRC_DIR}
359359
PREFIX ${GMOCK_ROOT}
360360
INSTALL_COMMAND ""
361-
LOG_DOWNLOAD OFF
361+
LOG_DOWNLOAD ON
362362
LOG_CONFIGURE ON
363363
LOG_BUILD ON
364-
CMAKE_ARGS ${GTEST_CMAKE_ARGS}
364+
CMAKE_ARGS
365+
-Dgtest_disable_pthreads=${MINGW}
366+
${GTEST_CMAKE_ARGS}
365367
)
366368

367369
add_dependencies(GTest::GTest gmock)
@@ -372,15 +374,15 @@ if(NOT (${GMOCK_LIBRARY_EXISTS} AND ${GTEST_LIBRARY_EXISTS}))
372374
externalproject_get_property(gmock source_dir binary_dir)
373375
set(GTEST_INCLUDE_DIR "${source_dir}/gtest/include")
374376
mark_as_advanced(GTEST_INCLUDE_DIR)
375-
set(GTEST_LIBRARY "${binary_dir}/gtest/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest${Suffix}")
377+
set(GTEST_LIBRARY "${binary_dir}/gtest/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}")
376378
mark_as_advanced(GTEST_LIBRARY)
377-
set(GTEST_MAIN_LIBRARY "${binary_dir}/gtest/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest_main${Suffix}")
379+
set(GTEST_MAIN_LIBRARY "${binary_dir}/gtest/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
378380
mark_as_advanced(GTEST_MAIN_LIBRARY)
379381
set(GMOCK_INCLUDE_DIR "${source_dir}/include")
380382
mark_as_advanced(GMOCK_INCLUDE_DIR)
381-
set(GMOCK_LIBRARY "${binary_dir}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock${Suffix}")
383+
set(GMOCK_LIBRARY "${binary_dir}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock${CMAKE_STATIC_LIBRARY_SUFFIX}")
382384
mark_as_advanced(GMOCK_LIBRARY)
383-
set(GMOCK_MAIN_LIBRARY "${binary_dir}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock_main${Suffix}")
385+
set(GMOCK_MAIN_LIBRARY "${binary_dir}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
384386
mark_as_advanced(GMOCK_MAIN_LIBRARY)
385387
endif()
386388
endif()

examples/Calc/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ endif()
1313
if(Boost_UNIT_TEST_FRAMEWORK_FOUND)
1414
include_directories(${Boost_INCLUDE_DIRS})
1515
add_executable(BoostCalculatorSteps features/step_definitions/BoostCalculatorSteps)
16-
target_link_libraries(BoostCalculatorSteps Calc ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY} ${CUKE_LIBRARIES})
16+
target_link_libraries(BoostCalculatorSteps Calc ${CUKE_LIBRARIES} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
1717
endif()

tests/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ if(GMOCK_FOUND)
2323
cuke_add_test(integration/HookRegistrationTest)
2424
cuke_add_test(integration/StepRegistrationTest)
2525
cuke_add_test(integration/TaggedHookRegistrationTest)
26-
if(NOT MSVC)
26+
if(NOT WIN32)
2727
cuke_add_test(integration/WireServerTest)
2828
endif()
2929
cuke_add_test(integration/WireProtocolTest)

0 commit comments

Comments
 (0)