| 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() |