Mir

Merge lp:~alan-griffiths/mir/fedora-gtest into lp:mir

Proposed by Alan Griffiths
Status: Merged
Approved by: Alan Griffiths
Approved revision: no longer in the source branch.
Merged at revision: 4299
Proposed branch: lp:~alan-griffiths/mir/fedora-gtest
Merge into: lp:mir
Prerequisite: lp:~alan-griffiths/mir/fedora
Diff against target: 198 lines (+59/-101)
3 files modified
CMakeLists.txt (+1/-1)
cmake/FindGtestGmock.cmake (+56/-100)
tests/unit-tests/test_raii.cpp (+2/-0)
To merge this branch: bzr merge lp:~alan-griffiths/mir/fedora-gtest
Reviewer Review Type Date Requested Status
Mir CI Bot continuous-integration Approve
Michał Sawicz Approve
Review via email: mp+332512@code.launchpad.net

Commit message

Fix GMock detection on Fedora

To post a comment you must log in.
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:4298
https://mir-jenkins.ubuntu.com/job/mir-ci/3745/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/5149
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/5387
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=artful/5374
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/5374
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=zesty/5374
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=artful/5193
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=artful/5193/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/5193
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/5193/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=artful/5193
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=artful/5193/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/5193
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/5193/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/5193
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/5193/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=artful/5193
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=artful/5193/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=zesty/5193
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=zesty/5193/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/5193
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/5193/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/3745/rebuild

review: Approve (continuous-integration)
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Continuous integration, rev:4300
https://mir-jenkins.ubuntu.com/job/mir-ci/3748/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/5151/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/5388
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=artful/5375
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/5375
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=zesty/5375
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=artful/5194
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=artful/5194/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/5194
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/5194/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=artful/5194
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=artful/5194/artifact/output/*zip*/output.zip
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/5194/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/5194
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/5194/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=artful/5194
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=artful/5194/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=zesty/5194
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=zesty/5194/artifact/output/*zip*/output.zip
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/5194/console

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/3748/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:4302
https://mir-jenkins.ubuntu.com/job/mir-ci/3751/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/5157
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/5394
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=artful/5381
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/5381
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=zesty/5381
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=artful/5200
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=artful/5200/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/5200
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/5200/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=artful/5200
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=artful/5200/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/5200
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/5200/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/5200
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/5200/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=artful/5200
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=artful/5200/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=zesty/5200
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=zesty/5200/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/5200
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/5200/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/3751/rebuild

review: Approve (continuous-integration)
Revision history for this message
Michał Sawicz (saviq) wrote :

Needed the following packages on top of what https://code.launchpad.net/~alan-griffiths/mir/fedora/+merge/332494/comments/870627 mentioned:

$ dnf install python3-pillow libevdev-devel umockdev-devel gtest-devel gmock-devel

Revision history for this message
Michał Sawicz (saviq) wrote :

And it's good.

review: Approve
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
https://mir-jenkins.ubuntu.com/job/mir-autolanding/1478/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/5159/console
    None: https://mir-jenkins.ubuntu.com/job/generic-land-mp/1617/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/5396
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=artful/5383
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/5383
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=zesty/5383
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=artful/5202
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=artful/5202/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/5202
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/5202/artifact/output/*zip*/output.zip
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=artful/5202/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/5202
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/5202/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/5202
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/5202/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=artful/5202
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=artful/5202/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=zesty/5202
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=zesty/5202/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/5202
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/5202/artifact/output/*zip*/output.zip

review: Needs Fixing (continuous-integration)
Revision history for this message
Mir CI Bot (mir-ci-bot) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt 2017-10-23 09:52:02 +0000
+++ CMakeLists.txt 2017-10-23 09:52:03 +0000
@@ -298,7 +298,6 @@
298 add_definitions(-DMIR_LIBINPUT_HAS_ACCEL_PROFILE=1)298 add_definitions(-DMIR_LIBINPUT_HAS_ACCEL_PROFILE=1)
299endif ()299endif ()
300300
301add_subdirectory(benchmarks/)
302add_subdirectory(examples/)301add_subdirectory(examples/)
303if (MIR_EGL_SUPPORTED)302if (MIR_EGL_SUPPORTED)
304 add_subdirectory(playground/)303 add_subdirectory(playground/)
@@ -311,6 +310,7 @@
311 pkg_check_modules(LIBEVDEV REQUIRED libevdev)310 pkg_check_modules(LIBEVDEV REQUIRED libevdev)
312 include_directories(${GMOCK_INCLUDE_DIR} ${GTEST_INCLUDE_DIR})311 include_directories(${GMOCK_INCLUDE_DIR} ${GTEST_INCLUDE_DIR})
313 add_subdirectory(tests/)312 add_subdirectory(tests/)
313 add_subdirectory(benchmarks/)
314314
315 # There's no nice way to format this. Thanks CMake.315 # There's no nice way to format this. Thanks CMake.
316 mir_add_test(NAME LGPL-required316 mir_add_test(NAME LGPL-required
317317
=== modified file 'cmake/FindGtestGmock.cmake'
--- cmake/FindGtestGmock.cmake 2017-10-17 09:33:03 +0000
+++ cmake/FindGtestGmock.cmake 2017-10-23 09:52:03 +0000
@@ -1,105 +1,61 @@
1include(ExternalProject)
2include(FindPackageHandleStandardArgs)1include(FindPackageHandleStandardArgs)
32
4execute_process(COMMAND "arch" OUTPUT_VARIABLE MIR_HOST_PROCESSOR OUTPUT_STRIP_TRAILING_WHITESPACE)3find_package(GTest)
54
6if ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "${MIR_HOST_PROCESSOR}")5if (NOT GTEST_FOUND)
7 find_package(GMock REQUIRED)6 include(ExternalProject)
8 if (NOT TARGET GMock)7
9 add_custom_target(GMock DEPENDS gmock)8 find_path(GTEST_ROOT
10 endif()9 NAMES CMakeLists.txt
11else()10 PATHS /usr/src/gtest /usr/src/googletest/googletest/
12#11 DOC "Path to GTest CMake project")
13# When cross compiling MIR_CHROOT points to our chroot.12
14# When not cross compiling, it should be blank to use the host system.13 ExternalProject_Add(gtest PREFIX ./gtest
15#14 SOURCE_DIR ${GTEST_ROOT}
16set(usr ${MIR_CHROOT}/usr)15 CMAKE_ARGS
1716 -DCMAKE_CXX_FLAGS='${CMAKE_CXX_FLAGS}'
18if (EXISTS ${usr}/src/googletest)17 -DCMAKE_CXX_COMPILER_WORKS=1
19 set (USING_GOOGLETEST_1_8 TRUE)18 -DCMAKE_C_COMPILER_WORKS=1
20 set (GTEST_INSTALL_DIR ${usr}/src/googletest/googletest/include)19 -DCMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH}
21else()20 -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
22 set (GTEST_INSTALL_DIR ${usr}/src/gmock/gtest/include)21 -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
23endif()22 -DCMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH}
2423 INSTALL_COMMAND true)
25#gtest24
26find_path(25 set(GTEST_LIBRARY "-lgtest")
27 GTEST_INCLUDE_DIR gtest/gtest.h26 set(GTEST_MAIN_LIBRARY "-lgtest_main")
28 HINTS ${GTEST_INSTALL_DIR}27 set(GTEST_BOTH_LIBRARIES ${GTEST_LIBRARY} ${GTEST_MAIN_LIBRARY})
29)28 set(GTEST_DEPENDENCIES "gtest")
3029 set(GTEST_FOUND TRUE)
31#gmock30 find_path(GTEST_INCLUDE_DIRS NAMES gtest/gtest.h)
32find_path(31 link_directories(${CMAKE_CURRENT_BINARY_DIR}/gtest/src/gtest-build)
33 GMOCK_INSTALL_DIR CMakeLists.txt32 find_package_handle_standard_args(GTest GTEST_LIBRARY GTEST_BOTH_LIBRARIES GTEST_INCLUDE_DIRS)
34 HINTS ${usr}/src/googletest ${usr}/src/gmock)33endif()
35if(${GMOCK_INSTALL_DIR} STREQUAL "GMOCK_INSTALL_DIR-NOTFOUND")34
36 message(FATAL_ERROR "google-mock package not found")35find_file(GMOCK_SOURCE
37endif()36 NAMES gmock-all.cc
37 DOC "GMock source"
38 PATHS /usr/src/googletest/googlemock/src/ /usr/src/gmock/ /usr/src/gmock/src)
39
40message(STATUS "GMOCK_SOURCE=${GMOCK_SOURCE}")
3841
39find_path(GMOCK_INCLUDE_DIR gmock/gmock.h)42find_path(GMOCK_INCLUDE_DIR gmock/gmock.h)
4043
41if (USING_GOOGLETEST_1_8)44add_library(GMock STATIC ${GMOCK_SOURCE})
42 set(GMOCK_BASE_BINARY_DIR ${CMAKE_BINARY_DIR}/gmock/libs)45
43 set(GMOCK_BINARY_DIR ${GMOCK_BASE_BINARY_DIR}/googlemock)46if (EXISTS /usr/src/googletest/googlemock/src)
44 set(GTEST_BINARY_DIR ${GMOCK_BINARY_DIR}/gtest)47 set_source_files_properties(${GMOCK_SOURCE} PROPERTIES COMPILE_FLAGS "-I/usr/src/googletest/googlemock")
45else()48endif()
46 set(GMOCK_BASE_BINARY_DIR ${CMAKE_BINARY_DIR}/gmock/libs)49
47 set(GMOCK_BINARY_DIR ${GMOCK_BASE_BINARY_DIR})50if (EXISTS /usr/src/gmock/src)
48 set(GTEST_BINARY_DIR ${GMOCK_BINARY_DIR}/gtest)51 set_source_files_properties(${GMOCK_SOURCE} PROPERTIES COMPILE_FLAGS "-I/usr/src/gmock")
49endif()52endif()
5053
51set(GTEST_CXX_FLAGS "-fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64")54if (TARGET gtest)
52if (cmake_build_type_lower MATCHES "threadsanitizer")55 add_dependencies(GMock gtest)
53 set(GTEST_CXX_FLAGS "${GTEST_CXX_FLAGS} -fsanitize=thread")56endif()
54elseif (cmake_build_type_lower MATCHES "ubsanitizer")57
55 set(GTEST_CXX_FLAGS "${GTEST_CXX_FLAGS} -fsanitize=undefined")58find_package_handle_standard_args(GMock DEFAULT_MSG GMOCK_INCLUDE_DIR)
56endif()59
5760set(GMOCK_LIBRARY GMock)
58set(GTEST_CMAKE_ARGS "-DCMAKE_CXX_FLAGS=${GTEST_CXX_FLAGS}")61set(GMOCK_LIBRARIES ${GTEST_BOTH_LIBRARIES} ${GMOCK_LIBRARY})
59list(APPEND GTEST_CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER})
60list(APPEND GTEST_CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER})
61
62if (USING_GOOGLETEST_1_8)
63 list(APPEND GTEST_CMAKE_ARGS -DBUILD_GTEST=ON)
64endif()
65
66if (cmake_build_type_lower MATCHES "threadsanitizer")
67 #Skip compiler check, since if GCC is the compiler, we need to link against -ltsan
68 #explicitly; specifying additional linker flags doesn't seem possible for external projects
69 list(APPEND GTEST_CMAKE_ARGS -DCMAKE_CXX_COMPILER_WORKS=1)
70endif()
71if (${CMAKE_CROSSCOMPILING})
72 if(DEFINED MIR_CHROOT)
73 list(APPEND GTEST_CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE=${CMAKE_MODULE_PATH}/LinuxCrossCompile.cmake)
74 else()
75 list(APPEND GTEST_CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER})
76 list(APPEND GTEST_CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER})
77 endif()
78endif()
79
80ExternalProject_Add(
81 GMock
82 #where to build in source tree
83 PREFIX ${GMOCK_PREFIX}
84 #where the source is external to the project
85 SOURCE_DIR ${GMOCK_INSTALL_DIR}
86 #forward the compilers to the subproject so cross-arch builds work
87 CMAKE_ARGS ${GTEST_CMAKE_ARGS}
88 BINARY_DIR ${GMOCK_BASE_BINARY_DIR}
89
90 #we don't need to install, so skip
91 INSTALL_COMMAND ""
92)
93
94set(GMOCK_LIBRARY ${GMOCK_BINARY_DIR}/libgmock.a)
95set(GMOCK_MAIN_LIBRARY ${GMOCK_BINARY_DIR}/libgmock_main.a)
96set(GMOCK_BOTH_LIBRARIES ${GMOCK_LIBRARY} ${GMOCK_MAIN_LIBRARY})
97set(GTEST_LIBRARY ${GTEST_BINARY_DIR}/libgtest.a)
98set(GTEST_MAIN_LIBRARY ${GTEST_BINARY_DIR}/libgtest_main.a)
99set(GTEST_BOTH_LIBRARIES ${GTEST_LIBRARY} ${GTEST_MAIN_LIBRARY})
100set(GMOCK_LIBRARIES ${GTEST_BOTH_LIBRARIES} ${GMOCK_BOTH_LIBRARIES})
101
102find_package_handle_standard_args(GTest DEFAULT_MSG
103 GMOCK_INCLUDE_DIR
104 GTEST_INCLUDE_DIR)
105endif()
10662
=== modified file 'tests/unit-tests/test_raii.cpp'
--- tests/unit-tests/test_raii.cpp 2017-07-28 17:00:43 +0000
+++ tests/unit-tests/test_raii.cpp 2017-10-23 09:52:03 +0000
@@ -21,6 +21,8 @@
21#include <gtest/gtest.h>21#include <gtest/gtest.h>
22#include <gmock/gmock.h>22#include <gmock/gmock.h>
2323
24#include <functional>
25
24namespace26namespace
25{27{
26struct RaiiTest : public ::testing::Test28struct RaiiTest : public ::testing::Test

Subscribers

People subscribed via source and target branches