Correct how google test is used.

I think it was working before because the other computer had gtest system installed.

Bonus: it is now also integrated with CTest
This commit is contained in:
Godzil
2020-02-14 22:19:39 +00:00
parent 0621ca86e1
commit 514bd649c1
2 changed files with 14 additions and 14 deletions

View File

@@ -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)
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()

View File

@@ -10,3 +10,8 @@ target_include_directories(testMyRays PUBLIC ${gtest_SOURCE_DIR}/include ${gtest
target_include_directories(testMyRays PUBLIC ../source/include)
target_sources(testMyRays PRIVATE ${TESTS_SRC})
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}"
)