1# the following code to fetch googletest
2# is inspired by and adapted after https://crascit.com/2015/07/25/cmake-gtest/
3# download and unpack googletest at configure time
4
5macro(fetch_googletest _download_module_path _download_root)
6	set(GOOGLETEST_DOWNLOAD_ROOT ${_download_root})
7	configure_file(
8		${_download_module_path}/googletest-download.cmake
9		${_download_root}/CMakeLists.txt
10		@ONLY
11		)
12	unset(GOOGLETEST_DOWNLOAD_ROOT)
13
14	execute_process(
15		COMMAND
16			"${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
17		WORKING_DIRECTORY
18			${_download_root}
19		)
20	execute_process(
21		COMMAND
22			"${CMAKE_COMMAND}" --build .
23		WORKING_DIRECTORY
24			${_download_root}
25		)
26
27	# adds the targers: gtest, gtest_main, gmock, gmock_main
28	add_subdirectory(
29		${_download_root}/googletest-src
30		${_download_root}/googletest-build
31		)
32endmacro()
33