aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Firestore/CMakeLists.txt18
-rw-r--r--cmake/external/firestore.cmake1
-rw-r--r--cmake/external/googletest.cmake24
3 files changed, 20 insertions, 23 deletions
diff --git a/Firestore/CMakeLists.txt b/Firestore/CMakeLists.txt
index 553f59c..499e06c 100644
--- a/Firestore/CMakeLists.txt
+++ b/Firestore/CMakeLists.txt
@@ -28,7 +28,23 @@ set(FIREBASE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX})
list(INSERT CMAKE_MODULE_PATH 0 ${FIREBASE_SOURCE_DIR}/cmake)
include(utils)
-find_package(GTest REQUIRED)
+# Include GoogleTest directly in the build.
+set(gtest_dir ${FIREBASE_INSTALL_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(LevelDB REQUIRED)
find_package(GRPC REQUIRED)
diff --git a/cmake/external/firestore.cmake b/cmake/external/firestore.cmake
index 2d0ef02..1a89435 100644
--- a/cmake/external/firestore.cmake
+++ b/cmake/external/firestore.cmake
@@ -31,7 +31,6 @@ ExternalProject_Add(
CMAKE_ARGS
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX:PATH=${FIREBASE_INSTALL_DIR}
- ${GTEST_CMAKE_ARGS}
BUILD_ALWAYS ON
diff --git a/cmake/external/googletest.cmake b/cmake/external/googletest.cmake
index c467b70..56a5f13 100644
--- a/cmake/external/googletest.cmake
+++ b/cmake/external/googletest.cmake
@@ -30,27 +30,9 @@ ExternalProject_Add(
PREFIX ${PROJECT_BINARY_DIR}/external/googletest
- CMAKE_ARGS
- -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
- -DBUILD_SHARED_LIBS:BOOL=OFF
-
+ # Just download the sources without building.
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND ""
INSTALL_COMMAND ""
TEST_COMMAND ""
)
-
-ExternalProject_Get_Property(
- googletest
- SOURCE_DIR BINARY_DIR
-)
-
-# Arguments to pass to another CMake invocation so that it can find googletest
-# without installing it using the standard FindGTest module.
-set(GTEST_INCLUDE_DIR ${SOURCE_DIR}/googletest/include)
-set(GTEST_LIBRARY ${BINARY_DIR}/googlemock/gtest/libgtest.a)
-set(GTEST_MAIN_LIBRARY ${BINARY_DIR}/googlemock/gtest/libgtest_main.a)
-set(
- GTEST_CMAKE_ARGS
- -DGTEST_INCLUDE_DIR=${GTEST_INCLUDE_DIR}
- -DGTEST_LIBRARY=${GTEST_LIBRARY}
- -DGTEST_MAIN_LIBRARY=${GTEST_MAIN_LIBRARY}
-)