|
|
@@ -162,18 +162,25 @@ if(BUILD_TESTING)
|
|
|
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
|
|
+ option(FIND_GTEST_PACKAGE "Enable finding gtest package." OFF)
|
|
|
+
|
|
|
+ if(FIND_GTEST_PACKAGE)
|
|
|
+ find_package(GTest REQUIRED)
|
|
|
+ else()
|
|
|
+ # gtest, gtest_main, gmock and gmock_main targets are available from now on
|
|
|
+ set(GOOGLETEST_DEPS_DIR ${entt_SOURCE_DIR}/deps/googletest)
|
|
|
+ configure_file(${entt_SOURCE_DIR}/cmake/in/googletest.in ${GOOGLETEST_DEPS_DIR}/CMakeLists.txt)
|
|
|
+ execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . WORKING_DIRECTORY ${GOOGLETEST_DEPS_DIR})
|
|
|
+ execute_process(COMMAND ${CMAKE_COMMAND} --build . WORKING_DIRECTORY ${GOOGLETEST_DEPS_DIR})
|
|
|
+ set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
|
|
+ add_subdirectory(${GOOGLETEST_DEPS_DIR}/src ${GOOGLETEST_DEPS_DIR}/build)
|
|
|
+ add_library(GTest::Main ALIAS gtest_main)
|
|
|
+ endif()
|
|
|
+
|
|
|
option(BUILD_BENCHMARK "Build benchmark." OFF)
|
|
|
option(BUILD_MOD "Build mod example." OFF)
|
|
|
option(BUILD_SNAPSHOT "Build snapshot example." OFF)
|
|
|
|
|
|
- # gtest, gtest_main, gmock and gmock_main targets are available from now on
|
|
|
- set(GOOGLETEST_DEPS_DIR ${entt_SOURCE_DIR}/deps/googletest)
|
|
|
- configure_file(${entt_SOURCE_DIR}/cmake/in/googletest.in ${GOOGLETEST_DEPS_DIR}/CMakeLists.txt)
|
|
|
- execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . WORKING_DIRECTORY ${GOOGLETEST_DEPS_DIR})
|
|
|
- execute_process(COMMAND ${CMAKE_COMMAND} --build . WORKING_DIRECTORY ${GOOGLETEST_DEPS_DIR})
|
|
|
- set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
|
|
- add_subdirectory(${GOOGLETEST_DEPS_DIR}/src ${GOOGLETEST_DEPS_DIR}/build)
|
|
|
-
|
|
|
enable_testing()
|
|
|
add_subdirectory(test)
|
|
|
endif()
|