blob: 29261035eeed24a273811a9b54eba923fe4a52ab [file] [log] [blame]
CMAKE_MINIMUM_REQUIRED(VERSION 3.2 FATAL_ERROR)
FUNCTION(BUILD_GTEST)
INCLUDE(ExternalProject)
SET(BUILD_GTEST ON CACHE BOOL "" FORCE)
SET(BUILD_GMOCK OFF CACHE BOOL "" FORCE)
ExternalProject_Add(googletest
URL https://github.com/google/googletest/archive/release-1.8.0.zip
URL_HASH SHA256=f3ed3b58511efd272eb074a3a6d6fb79d7c2e6a0e374323d1e6bcbcc1ef141bf
INSTALL_COMMAND ""
BUILD_BYPRODUCTS <BINARY_DIR>/googlemock/gtest/libgtest.a <BINARY_DIR>/googlemock/gtest/libgtest_main.a
)
ADD_LIBRARY(gtest UNKNOWN IMPORTED)
ADD_LIBRARY(gtest_main UNKNOWN IMPORTED)
ADD_DEPENDENCIES(gtest googletest)
ADD_DEPENDENCIES(gtest_main googletest)
ExternalProject_Get_Property(googletest source_dir)
SET(GTEST_INCLUDE_DIRS ${source_dir}/googletest/include PARENT_SCOPE)
ExternalProject_Get_Property(googletest binary_dir)
SET_TARGET_PROPERTIES(gtest PROPERTIES IMPORTED_LOCATION ${binary_dir}/googlemock/gtest/libgtest.a)
SET_TARGET_PROPERTIES(gtest_main PROPERTIES IMPORTED_LOCATION ${binary_dir}/googlemock/gtest/libgtest_main.a)
SET(GTEST_FOUND TRUE PARENT_SCOPE)
SET(GTEST_BOTH_LIBRARIES gtest gtest_main PARENT_SCOPE)
SET(GTEST_LIBRARIES gtest PARENT_SCOPE)
SET(GTEST_MAIN_LIBRARIES gtest_main PARENT_SCOPE)
MARK_AS_ADVANCED(FORCE GTEST_FOUND)
MARK_AS_ADVANCED(FORCE GTEST_INCLUDE_DIRS)
MARK_AS_ADVANCED(FORCE GTEST_LIBRARIES)
MARK_AS_ADVANCED(FORCE GTEST_MAIN_LIBRARIES)
MARK_AS_ADVANCED(FORCE GTEST_BOTH_LIBRARIES)
ENDFUNCTION(BUILD_GTEST)
BUILD_GTEST()