GildedRose-Refactoring-Kata/cpp/test/cpp_googletest_unittest/CMakeLists.txt
tbeu 784920714a Introduce four CMake options to enable/disabled test variants or test frameworks
By default all four test variants (Catch2 vs. GTest and Approval vs. Unit) are enabled.
2025-02-15 09:38:07 +01:00

22 lines
903 B
CMake

if (BUILD_UNIT_TESTS_WITH_GTEST)
set(TEST_NAME GildedRoseGoogletestUnitTests)
add_executable(${TEST_NAME})
target_sources(${TEST_NAME} PRIVATE GildedRoseGoogletestUnitTests.cc)
target_link_libraries(${TEST_NAME} GildedRoseLib gtest gtest_main)
set_property(TARGET ${TEST_NAME} PROPERTY CXX_STANDARD 11)
add_test(
NAME ${TEST_NAME}
COMMAND ${TEST_NAME}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
# Set compiler option /FC for Visual Studio to to make the __FILE__ macro expand to full path.
# The __FILE__ macro can be used to get the path to current test file.
# Links:
# * https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=vs-2019
# * https://docs.microsoft.com/en-us/cpp/build/reference/fc-full-path-of-source-code-file-in-diagnostics?view=vs-2019
if (MSVC)
target_compile_options(${TEST_NAME} PRIVATE "/FC")
endif()
endif()