# the following code to fetch googletest # is inspired by and adapted after https://crascit.com/2015/07/25/cmake-gtest/ # download and unpack googletest at configure time macro(fetch_googletest _download_module_path _download_root) set(GOOGLETEST_DOWNLOAD_ROOT ${_download_root}) configure_file( ${_download_module_path}/googletest-download.cmake ${_download_root}/CMakeLists.txt @ONLY ) unset(GOOGLETEST_DOWNLOAD_ROOT) execute_process( COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . WORKING_DIRECTORY ${_download_root} ) execute_process( COMMAND "${CMAKE_COMMAND}" --build . WORKING_DIRECTORY ${_download_root} ) if (MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING") set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) endif() # adds the targers: gtest, gtest_main, gmock, gmock_main add_subdirectory( ${_download_root}/googletest-src ${_download_root}/googletest-build EXCLUDE_FROM_ALL ) endmacro()