aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmake/external/googletest.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/external/googletest.cmake')
-rw-r--r--cmake/external/googletest.cmake39
1 files changed, 31 insertions, 8 deletions
diff --git a/cmake/external/googletest.cmake b/cmake/external/googletest.cmake
index 128f849..c467b70 100644
--- a/cmake/external/googletest.cmake
+++ b/cmake/external/googletest.cmake
@@ -13,21 +13,44 @@
# limitations under the License.
include(ExternalProject)
+include(ExternalProjectFlags)
+
+ExternalProject_GitSource(
+ GOOGLETEST_GIT
+ GIT_REPOSITORY "https://github.com/google/googletest.git"
+ GIT_TAG "release-1.8.0"
+)
ExternalProject_Add(
googletest
+ DEPENDS
+ FirebaseCore # for sequencing
- GIT_REPOSITORY "https://github.com/google/googletest.git"
- GIT_TAG "release-1.8.0"
+ ${GOOGLETEST_GIT}
- PREFIX ${PROJECT_BINARY_DIR}/third_party/googletest
+ PREFIX ${PROJECT_BINARY_DIR}/external/googletest
- INSTALL_DIR ${FIREBASE_INSTALL_DIR}
+ CMAKE_ARGS
+ -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DBUILD_SHARED_LIBS:BOOL=OFF
+ INSTALL_COMMAND ""
TEST_COMMAND ""
+)
- CMAKE_ARGS
- -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
- -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
- -DBUILD_SHARED_LIBS:BOOL=OFF
+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}
)