From 5ff680577d3e6ed290e0b704ac5e349ed16aebf9 Mon Sep 17 00:00:00 2001 From: danilcha Date: Sun, 12 Mar 2017 18:11:22 +0100 Subject: Again rewrote everything --- googlemock/README.md | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/googlemock/README.md b/googlemock/README.md index 1259f77..7efc068 100644 --- a/googlemock/README.md +++ b/googlemock/README.md @@ -135,23 +135,35 @@ If are using Google Mock with an existing CMake project, the section [Incorporating Into An Existing CMake Project][gtest_incorpcmake] may be of particular interest. -The only modification you will need is to change +To make it work for Google Mock you will need to change target_link_libraries(example gtest_main) to - target_link_libraries(example gtest gmock_main) - -However, we also recommend adding the following lines (if using CMake 2.8.11 or later): - - target_include_directories(gtest SYSTEM INTERFACE "${gtest_SOURCE_DIR}/include") - target_include_directories(gtest_main SYSTEM INTERFACE "${gtest_SOURCE_DIR}/include") - target_include_directories(gmock SYSTEM INTERFACE "${gmock_SOURCE_DIR}/include") - target_include_directories(gmock_main SYSTEM INTERFACE "${gmock_SOURCE_DIR}/include") - -This marks Google Mock includes as system, which will silence compiler warnings when -compiling your tests using clang with `-Wpedantic -Wall -Wextra -Wconversion`. + target_link_libraries(example gmock_main) + +This works because `gmock_main` library is compiled with Google Test. +However, it does not automatically add Google Test includes. +Therefore you will also have to change + + if (CMAKE_VERSION VERSION_LESS 2.8.11) + include_directories("${gtest_SOURCE_DIR}/include") + endif() + +to + + if (CMAKE_VERSION VERSION_LESS 2.8.11) + include_directories(BEFORE SYSTEM + "${gtest_SOURCE_DIR}/include" "${gmock_SOURCE_DIR}/include") + else() + target_include_directories(gmock_main SYSTEM BEFORE INTERFACE + "${gtest_SOURCE_DIR}/include" "${gmock_SOURCE_DIR}/include") + endif() + +This will addtionally mark Google Mock includes as system, which will +silence compiler warnings when compiling your tests using clang with +`-Wpedantic -Wall -Wextra -Wconversion`. #### Preparing to Build (Unix only) #### -- cgit v0.12