# We need to use a custom CMakeLists for GoogleTest, because we can't compile with exceptions on.

add_library(gtest
	googletest/src/gtest.cc
	googletest/src/gtest-assertion-result.cc
	googletest/src/gtest-death-test.cc
	googletest/src/gtest-filepath.cc
	googletest/src/gtest-matchers.cc
	googletest/src/gtest-port.cc
	googletest/src/gtest-printers.cc
	googletest/src/gtest-test-part.cc
	googletest/src/gtest-typed-test.cc
)
target_include_directories(gtest PRIVATE
	googletest
	googletest/include
)
target_include_directories(gtest INTERFACE
	googletest/include
)
target_link_libraries(gtest Threads::Threads)
set_property(TARGET gtest PROPERTY CXX_STANDARD 17)
set_property(TARGET gtest PROPERTY CXX_STANDARD_REQUIRED ON)

add_library(gtest_main
	googletest/src/gtest_main.cc
)
target_include_directories(gtest_main PRIVATE
	googletest
	googletest/include
)
target_include_directories(gtest_main INTERFACE
	googletest/include
)
target_link_libraries(gtest_main Threads::Threads)
set_property(TARGET gtest_main PROPERTY CXX_STANDARD 17)
set_property(TARGET gtest_main PROPERTY CXX_STANDARD_REQUIRED ON)