Skip to content

Instantly share code, notes, and snippets.

@royvandam
Created March 19, 2018 20:10
Show Gist options
  • Save royvandam/6082898d861736991a0a63db4e558873 to your computer and use it in GitHub Desktop.
Save royvandam/6082898d861736991a0a63db4e558873 to your computer and use it in GitHub Desktop.
Include Google Test into a CMake project as external project
include(${CMAKE_ROOT}/Modules/ExternalProject.cmake)
ExternalProject_Add(googletest
GIT_REPOSITORY "https://github.com/google/googletest.git"
GIT_TAG "master"
UPDATE_COMMAND ""
INSTALL_COMMAND "")
SET(GTEST_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/googletest-prefix/src/googletest/googletest/include)
SET(GTEST_LIB_DIR ${CMAKE_CURRENT_BINARY_DIR}/googletest-prefix/src/googletest-build/googlemock/gtest)
# Work around for 'non-existent' directory issue/bug
file(MAKE_DIRECTORY ${GTEST_INCLUDE_DIR})
add_library(gtest STATIC IMPORTED)
set_target_properties(gtest PROPERTIES IMPORTED_LOCATION ${GTEST_LIB_DIR}/libgtest.a)
set_target_properties(gtest PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${GTEST_INCLUDE_DIR})
add_library(gtest_main STATIC IMPORTED)
set_target_properties(gtest_main PROPERTIES IMPORTED_LOCATION ${GTEST_LIB_DIR}/libgtest_main.a)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment