diff options
author | Gil <mcg@google.com> | 2018-06-26 14:57:40 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-26 14:57:40 -0700 |
commit | d03050653ff84e624def93aa512ef35907f5792a (patch) | |
tree | cef0fb6ef7e28a3302e1578f83a8fd8d57099eba | |
parent | ae7078ca2bdd362df43e5fdba0261c5c84c1b447 (diff) |
Install googletest (#1461)
Also add FindGMock to Find gmock after installation
-rw-r--r-- | Firestore/CMakeLists.txt | 19 | ||||
-rw-r--r-- | Firestore/core/test/firebase/firestore/util/CMakeLists.txt | 2 | ||||
-rw-r--r-- | Firestore/third_party/abseil-cpp/CMakeLists.txt | 12 | ||||
-rw-r--r-- | cmake/FindGMock.cmake | 47 | ||||
-rw-r--r-- | cmake/external/googletest.cmake | 7 |
5 files changed, 59 insertions, 28 deletions
diff --git a/Firestore/CMakeLists.txt b/Firestore/CMakeLists.txt index 8b6f9d5..1240a8d 100644 --- a/Firestore/CMakeLists.txt +++ b/Firestore/CMakeLists.txt @@ -77,23 +77,8 @@ set(FIREBASE_BINARY_DIR ${PROJECT_BINARY_DIR}/..) list(INSERT CMAKE_MODULE_PATH 0 ${FIREBASE_SOURCE_DIR}/cmake) include(utils) -# Include GoogleTest directly in the build. -set(gtest_dir ${FIREBASE_BINARY_DIR}/external/googletest) -add_subdirectory( - ${gtest_dir}/src/googletest - ${gtest_dir}/src/googletest-build - EXCLUDE_FROM_ALL -) - -# Set up aliases with the same names as available via FindGTest. -add_library( - GTest::GTest ALIAS gtest -) - -add_library( - GTest::Main ALIAS gtest_main -) - +find_package(GTest REQUIRED) +find_package(GMock REQUIRED) find_package(LevelDB REQUIRED) find_package(GRPC REQUIRED) find_package(Nanopb REQUIRED) diff --git a/Firestore/core/test/firebase/firestore/util/CMakeLists.txt b/Firestore/core/test/firebase/firestore/util/CMakeLists.txt index 0345f7c..45245ff 100644 --- a/Firestore/core/test/firebase/firestore/util/CMakeLists.txt +++ b/Firestore/core/test/firebase/firestore/util/CMakeLists.txt @@ -137,7 +137,7 @@ cc_test( absl_base absl_strings firebase_firestore_util - gmock + GMock::GMock ) if(APPLE) diff --git a/Firestore/third_party/abseil-cpp/CMakeLists.txt b/Firestore/third_party/abseil-cpp/CMakeLists.txt index 7318cd3..4b939fa 100644 --- a/Firestore/third_party/abseil-cpp/CMakeLists.txt +++ b/Firestore/third_party/abseil-cpp/CMakeLists.txt @@ -76,14 +76,14 @@ endif() ## check targets if(BUILD_TESTING) - check_target(gtest) - check_target(gtest_main) - check_target(gmock) + check_target(GTest::GTest) + check_target(GTest::Main) + check_target(GMock::GMock) list(APPEND ABSL_TEST_COMMON_LIBRARIES - gtest_main - gtest - gmock + GTest::GTest + GTest::Main + GMock::GMock ${CMAKE_THREAD_LIBS_INIT} ) endif() diff --git a/cmake/FindGMock.cmake b/cmake/FindGMock.cmake new file mode 100644 index 0000000..76ce227 --- /dev/null +++ b/cmake/FindGMock.cmake @@ -0,0 +1,47 @@ +# Copyright 2018 Google +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +include(FindPackageHandleStandardArgs) + +find_path( + GMOCK_INCLUDE_DIR gmock/gmock.h + HINTS ${FIREBASE_INSTALL_DIR}/include +) + +find_library( + GMOCK_LIBRARY + NAMES gmock + HINTS ${FIREBASE_INSTALL_DIR}/lib +) + +find_package_handle_standard_args( + gmock + DEFAULT_MSG + GMOCK_INCLUDE_DIR + GMOCK_LIBRARY +) + +if(GMOCK_FOUND) + set(GMOCK_INCLUDE_DIRS ${GMOCK_INCLUDE_DIR}) + set(GMOCK_LIBRARIES ${GMOCK_LIBRARY}) + + if (NOT TARGET GMock::GMock) + add_library(GMock::GMock UNKNOWN IMPORTED) + set_target_properties( + GMock::GMock PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${GMOCK_INCLUDE_DIRS} + IMPORTED_LOCATION ${GMOCK_LIBRARY} + ) + endif() +endif(GMOCK_FOUND) diff --git a/cmake/external/googletest.cmake b/cmake/external/googletest.cmake index f48c357..3af136e 100644 --- a/cmake/external/googletest.cmake +++ b/cmake/external/googletest.cmake @@ -24,10 +24,9 @@ ExternalProject_Add( PREFIX ${PROJECT_BINARY_DIR}/external/googletest - # Just download the sources without building. + CMAKE_CACHE_ARGS + -DCMAKE_INSTALL_PREFIX:STRING=${FIREBASE_INSTALL_DIR} + UPDATE_COMMAND "" - CONFIGURE_COMMAND "" - BUILD_COMMAND "" - INSTALL_COMMAND "" TEST_COMMAND "" ) |