diff --git a/CMakeLists.txt b/CMakeLists.txt index b490d34..ee5733b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,17 +6,6 @@ project(DoRayMe) set(CMAKE_CXX_STANDARD 11) - -#Add external projects that directly need to be builded -ExternalProject_Add(googletest - SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/external/googletest" - BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/external/googletest" - CONFIGURE_COMMAND "" - BUILD_COMMAND "" - INSTALL_COMMAND "" - TEST_COMMAND "" -) - # LodePNG don't make a .a or .so, so let's build a library here add_library(LodePNG STATIC) set(LODEPNG_INCLUDE_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/external/lodepng) @@ -25,5 +14,11 @@ target_sources(LodePNG PRIVATE external/lodepng/lodepng.cpp external/lodepng/lod # Main app add_subdirectory(source) -# Unit Tests -add_subdirectory(tests) \ No newline at end of file + +option(PACKAGE_TESTS "Build the tests" ON) +if(PACKAGE_TESTS) + enable_testing() + include(GoogleTest) + add_subdirectory("${PROJECT_SOURCE_DIR}/external/googletest" "external/googletest") + add_subdirectory(tests) +endif() \ No newline at end of file diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index aa5b12e..7dcd38e 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -9,4 +9,9 @@ add_executable(testMyRays) target_include_directories(testMyRays PUBLIC ${gtest_SOURCE_DIR}/include ${gtest_SOURCE_DIR}) target_include_directories(testMyRays PUBLIC ../source/include) target_sources(testMyRays PRIVATE ${TESTS_SRC}) -target_link_libraries(testMyRays gtest gtest_main rayonnement Threads::Threads) \ No newline at end of file +target_link_libraries(testMyRays gtest gtest_main rayonnement Threads::Threads) + +gtest_discover_tests(testMyRays + WORKING_DIRECTORY ${PROJECT_DIR} + PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "${PROJECT_DIR}" + ) \ No newline at end of file