diff options
Diffstat (limited to 'cmake/external/googletest.cmake')
-rw-r--r-- | cmake/external/googletest.cmake | 39 |
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} ) |