diff --git a/cpp-catch2/.gitignore b/cpp-catch2/.gitignore deleted file mode 100644 index 401f2947..00000000 --- a/cpp-catch2/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/build_meson/ -/subprojects/Catch2-*/ -/subprojects/packagecache/ -/cmake-build-*/ diff --git a/cpp-catch2/CMakeLists.txt b/cpp-catch2/CMakeLists.txt deleted file mode 100644 index 0617ad9c..00000000 --- a/cpp-catch2/CMakeLists.txt +++ /dev/null @@ -1,54 +0,0 @@ -cmake_minimum_required(VERSION 3.14..3.16) -set(CMAKE_VERBOSE_MAKEFILE ON) -project(GildedRoseKata VERSION 1.0 - DESCRIPTION "The GildedRose Refactoring kata for an approval testing approach" - LANGUAGES CXX) -include(FetchContent) - -FetchContent_Declare( - catch2 - GIT_REPOSITORY https://github.com/catchorg/Catch2.git - GIT_TAG v2.13.10 -) -FetchContent_MakeAvailable(catch2) -LIST(APPEND CMAKE_MODULE_PATH - ${catch2_SOURCE_DIR}/contrib - ) - -FetchContent_Declare( - approvaltests_ho - URL https://github.com/approvals/ApprovalTests.cpp/releases/download/v.10.13.0/ApprovalTests.v.10.13.0.hpp - DOWNLOAD_NO_EXTRACT TRUE - DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR}/approvaltests - DOWNLOAD_NAME ApprovalTests.v.10.13.0.hpp -) -FetchContent_GetProperties(approvaltests_ho) -if (NOT approvaltests_ho_POPULATED) - FetchContent_Populate(approvaltests_ho) -endif () -add_library(approvaltests INTERFACE) -target_include_directories(approvaltests - INTERFACE ${CMAKE_CURRENT_BINARY_DIR}/approvaltests - INTERFACE ${catch2_SOURCE_DIR}/single_include/catch2 - ) - -if( MINGW ) - # https://stackoverflow.com/questions/31890021/mingw-too-many-sections-bug-while-compiling-huge-header-file-in-qt - set (CMAKE_CXX_FLAGS "-Wa,-mbig-obj ") -endif() - -add_executable(gildedrose_catch2 - src/GildedRose.h - src/GildedRose.cc - test/gildedrose_catch.cpp - test/main.cpp) -set_target_properties(gildedrose_catch2 PROPERTIES CXX_STANDARD 11) -target_include_directories(gildedrose_catch2 - PUBLIC src) -target_link_libraries(gildedrose_catch2 Catch2::Catch2 approvaltests) - - - -include(CTest) -include(ParseAndAddCatchTests) -ParseAndAddCatchTests(gildedrose_catch2) diff --git a/cpp-catch2/README.md b/cpp-catch2/README.md deleted file mode 100644 index ce8bfb01..00000000 --- a/cpp-catch2/README.md +++ /dev/null @@ -1,21 +0,0 @@ -C++ version of Gilded Rose with Catch 2 and Approvals -====================================================== - -This is a C++ start of the Gilded Rose Refactoring Kata. See -the [top level readme](https://github.com/emilybache/GildedRose-Refactoring-Kata) - for a general description of the exercise. - -There are two (failing) unit tests included here. One uses only the catch2 framework, the other additionally uses [ApprovalTests](https://github.com/approvals/approvaltests.cpp). You should choose one of these tests to work with and delete the other. - -CMake ------ - -CMake is included in CLion from JetBrains. Without CMake files -CLion has a hard time to handle c-projects. - -To install CMake (if you don't use CLion) on macOS using brew - - brew install cmake - -Tested on CMake 3.15.3 (included with CLion 2019.3) on macOS - diff --git a/cpp-catch2/src/GildedRose.cc b/cpp-catch2/src/GildedRose.cc deleted file mode 100644 index 8df23e47..00000000 --- a/cpp-catch2/src/GildedRose.cc +++ /dev/null @@ -1,80 +0,0 @@ -#include "GildedRose.h" - -GildedRose::GildedRose(vector & items) : items(items) -{} - -void GildedRose::updateQuality() -{ - for (int i = 0; i < items.size(); i++) - { - if (items[i].name != "Aged Brie" && items[i].name != "Backstage passes to a TAFKAL80ETC concert") - { - if (items[i].quality > 0) - { - if (items[i].name != "Sulfuras, Hand of Ragnaros") - { - items[i].quality = items[i].quality - 1; - } - } - } - else - { - if (items[i].quality < 50) - { - items[i].quality = items[i].quality + 1; - - if (items[i].name == "Backstage passes to a TAFKAL80ETC concert") - { - if (items[i].sellIn < 11) - { - if (items[i].quality < 50) - { - items[i].quality = items[i].quality + 1; - } - } - - if (items[i].sellIn < 6) - { - if (items[i].quality < 50) - { - items[i].quality = items[i].quality + 1; - } - } - } - } - } - - if (items[i].name != "Sulfuras, Hand of Ragnaros") - { - items[i].sellIn = items[i].sellIn - 1; - } - - if (items[i].sellIn < 0) - { - if (items[i].name != "Aged Brie") - { - if (items[i].name != "Backstage passes to a TAFKAL80ETC concert") - { - if (items[i].quality > 0) - { - if (items[i].name != "Sulfuras, Hand of Ragnaros") - { - items[i].quality = items[i].quality - 1; - } - } - } - else - { - items[i].quality = items[i].quality - items[i].quality; - } - } - else - { - if (items[i].quality < 50) - { - items[i].quality = items[i].quality + 1; - } - } - } - } -} diff --git a/cpp-catch2/src/GildedRose.h b/cpp-catch2/src/GildedRose.h deleted file mode 100644 index 8464f87b..00000000 --- a/cpp-catch2/src/GildedRose.h +++ /dev/null @@ -1,24 +0,0 @@ -#include -#include - -using namespace std; - -class Item -{ -public: - string name; - int sellIn; - int quality; - Item(string name, int sellIn, int quality) : name(name), sellIn(sellIn), quality(quality) - {} -}; - -class GildedRose -{ -public: - vector & items; - GildedRose(vector & items); - - void updateQuality(); -}; - diff --git a/cpp-catch2/test/ApprovalTests.hpp b/cpp-catch2/test/ApprovalTests.hpp deleted file mode 100644 index 5126d99f..00000000 --- a/cpp-catch2/test/ApprovalTests.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "ApprovalTests.v.10.13.0.hpp" diff --git a/cpp-catch2/test/gildedrose_catch.cpp b/cpp-catch2/test/gildedrose_catch.cpp deleted file mode 100644 index af562b40..00000000 --- a/cpp-catch2/test/gildedrose_catch.cpp +++ /dev/null @@ -1,32 +0,0 @@ -#include -#include "ApprovalTests.hpp" - -#include "GildedRose.h" - -std::ostream& operator<<(std::ostream& os, const Item& obj) -{ - return os - << "name: " << obj.name - << ", sellIn: " << obj.sellIn - << ", quality: " << obj.quality; -} - -// This is a normal unit test using Catch2 -TEST_CASE("UpdateQuality") { - - vector items; - items.push_back(Item("foo", 0, 0)); - GildedRose app(items); - app.updateQuality(); - REQUIRE("fixme" == app.items[0].name); -} - -// This is an Approval test using https://github.com/approvals/approvaltests.cpp -TEST_CASE("UpdateQualityApprovalTest") { - vector items; - items.push_back(Item("foo", 0, 0)); - GildedRose app(items); - app.updateQuality(); - auto item = app.items[0]; - ApprovalTests::Approvals::verify(item); -} diff --git a/cpp-catch2/test/main.cpp b/cpp-catch2/test/main.cpp deleted file mode 100644 index 94bae37b..00000000 --- a/cpp-catch2/test/main.cpp +++ /dev/null @@ -1,5 +0,0 @@ -#define CATCH_CONFIG_MAIN -#define APPROVALS_CATCH - -#include "catch2/catch.hpp" -#include "ApprovalTests.hpp" \ No newline at end of file diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 3fd016e0..0e3cc23e 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -6,6 +6,14 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON) # uncomment this line to enable coverage measurements using gcov # set(CMAKE_CXX_FLAGS "--coverage") +option(BUILD_APPROVAL_TESTS_WITH_GTEST "Use GoogleTest for approval testing" ON) + +option(BUILD_UNIT_TESTS_WITH_GTEST "Use GoogleTest for unit testing" ON) + +option(BUILD_APPROVAL_TESTS_WITH_CATCH2 "Use Catch2 for approval testing" ON) + +option(BUILD_UNIT_TESTS_WITH_CATCH2 "Use Catch2 for unit testing" ON) + enable_testing() add_subdirectory(src) add_subdirectory(test) diff --git a/cpp/README.md b/cpp/README.md index e981ce1a..e1f04ee5 100644 --- a/cpp/README.md +++ b/cpp/README.md @@ -6,16 +6,16 @@ The C++ version of the Gilded Rose refactoring kata is available in four variant * Catch2 test framework 1. Traditional unit test with the [Catch2](https://github.com/catchorg/Catch2) test framework in the `test/cpp_catch2_unittest` folder. 2. [Approval tests](https://github.com/approvals/ApprovalTests.cpp) with the [Catch2](https://github.com/catchorg/Catch2) test framework in the `test/cpp_catch2_approvaltest` folder. -* Google Test framework - 1. Traditional unit test with the [Googletest](https://github.com/google/googletest) test framework in the `test/cpp_googletest_unittest` folder. - 2. [Approval tests](https://github.com/approvals/ApprovalTests.cpp) with the [Googletest](https://github.com/google/googletest) test framework in the `test/cpp_googletest_approvaltest` folder. +* GoogleTest framework + 1. Traditional unit test with the [GoogleTest](https://github.com/google/googletest) test framework in the `test/cpp_googletest_unittest` folder. + 2. [Approval tests](https://github.com/approvals/ApprovalTests.cpp) with the [GoogleTest](https://github.com/google/googletest) test framework in the `test/cpp_googletest_approvaltest` folder. The `GildedRose.cc` file, i.e. the code under test, is identical in all four variants. ## Prerequisites -* CMake version >= 3.13 -* C++ compiler that supports C++14 +* CMake version ≥ 3.13 +* C++ compiler that supports C++14 ## How to build and run tests in a terminal @@ -27,6 +27,19 @@ The `GildedRose.cc` file, i.e. the code under test, is identical in all four var $ cmake .. $ cmake --build . +The following test specific options for building with CMake are available. + +* `BUILD_APPROVAL_TESTS_WITH_CATCH2:BOOL=ON` +This option builds the approval tests with the Catch2 test framework. +* `BUILD_UNIT_TESTS_WITH_CATCH2:BOOL=ON` +This option builds the unit tests with the Catch2 test framework. +* `BUILD_APPROVAL_TESTS_WITH_GTEST:BOOL=ON` +This option builds the approval tests with the GoogleTest test framework. +* `BUILD_UNIT_TESTS_WITH_GTEST:BOOL=ON` +This option builds the unit tests with the GoogleTest test framework. + +For example, run the CMake configuration `cmake -DBUILD_APPROVAL_TESTS_WITH_CATCH2=OFF -DBUILD_UNIT_TESTS_WITH_CATCH2=OFF ..` to disable the Catch2 based tests. + ### Show available tests $ cd ${GIT_FOLDER}/GildedRose-Refactoring-Kata/cpp/build @@ -55,12 +68,12 @@ The `GildedRose.cc` file, i.e. the code under test, is identical in all four var 2. Select menu `File - Open...` 3. Select folder `${GIT_FOLDER}/GildedRose-Refactoring-Kata/cpp` 4. Select menu `Build - Build Project` -4. Select menu `Run - Run...` -4. Select what test variant to run, e.g. `GildedRoseCatch2ApprovalTests`. +5. Select menu `Run - Run...` +6. Select what test variant to run, e.g. `GildedRoseCatch2ApprovalTests`. -## How to build and run tests using Visual Studio 2019 +## How to build and run tests using Visual Studio ≥ 2019 -1. Start Visual Studio 2019 +1. Start Visual Studio 2. Select `Open a local folder` 3. Select folder `${GIT_FOLDER}/GildedRose-Refactoring-Kata/cpp` 4. Wait for message `CMake generation finished.` in the CMake output window at the bottom diff --git a/cpp/test/CMakeLists.txt b/cpp/test/CMakeLists.txt index 1f455ed8..f51ce64b 100644 --- a/cpp/test/CMakeLists.txt +++ b/cpp/test/CMakeLists.txt @@ -1,29 +1,35 @@ include(FetchContent) -FetchContent_Declare( - googletest - GIT_REPOSITORY https://github.com/google/googletest.git - GIT_TAG v1.16.0 - GIT_SHALLOW TRUE -) +if (BUILD_APPROVAL_TESTS_WITH_GTEST OR BUILD_UNIT_TESTS_WITH_GTEST) + FetchContent_Declare( + googletest + GIT_REPOSITORY https://github.com/google/googletest.git + GIT_TAG v1.16.0 + GIT_SHALLOW TRUE + ) + FetchContent_MakeAvailable(googletest) +endif() -FetchContent_Declare( - catch2 - GIT_REPOSITORY https://github.com/catchorg/Catch2.git - GIT_TAG v3.8.0 - GIT_SHALLOW TRUE -) +if (BUILD_APPROVAL_TESTS_WITH_CATCH2 OR BUILD_UNIT_TESTS_WITH_CATCH2) + FetchContent_Declare( + catch2 + GIT_REPOSITORY https://github.com/catchorg/Catch2.git + GIT_TAG v3.8.0 + GIT_SHALLOW TRUE + ) + FetchContent_MakeAvailable(catch2) +endif() -FetchContent_MakeAvailable(googletest catch2) +if (BUILD_APPROVAL_TESTS_WITH_GTEST OR BUILD_UNIT_TESTS_WITH_GTEST) + # Force Google Test to link the C/C++ runtimes dynamically + set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) -# Force Google Test to link the C/C++ runtimes dynamically -set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) + # Disable building GMock + set(BUILD_GMOCK OFF CACHE BOOL "" FORCE) -# Disable building GMock -set(BUILD_GMOCK OFF CACHE BOOL "" FORCE) - -# Do not install GTest -set(INSTALL_GTEST OFF CACHE BOOL "" FORCE) + # Do not install GTest + set(INSTALL_GTEST OFF CACHE BOOL "" FORCE) +endif() add_subdirectory(cpp_catch2_approvaltest) add_subdirectory(cpp_catch2_unittest) diff --git a/cpp/test/cpp_catch2_approvaltest/CMakeLists.txt b/cpp/test/cpp_catch2_approvaltest/CMakeLists.txt index df930273..b145a9c0 100644 --- a/cpp/test/cpp_catch2_approvaltest/CMakeLists.txt +++ b/cpp/test/cpp_catch2_approvaltest/CMakeLists.txt @@ -1,20 +1,22 @@ -set(TEST_NAME GildedRoseCatch2ApprovalTests) -add_executable(${TEST_NAME}) -target_sources(${TEST_NAME} PRIVATE GildedRoseCatch2ApprovalTests.cc) -target_include_directories(${TEST_NAME} PUBLIC ../third_party) -target_link_libraries(${TEST_NAME} GildedRoseLib Catch2::Catch2 Catch2::Catch2WithMain) -set_property(TARGET ${TEST_NAME} PROPERTY CXX_STANDARD 14) -add_test( +if (BUILD_APPROVAL_TESTS_WITH_CATCH2) + set(TEST_NAME GildedRoseCatch2ApprovalTests) + add_executable(${TEST_NAME}) + target_sources(${TEST_NAME} PRIVATE GildedRoseCatch2ApprovalTests.cc) + target_include_directories(${TEST_NAME} PUBLIC ../third_party) + target_link_libraries(${TEST_NAME} GildedRoseLib Catch2::Catch2 Catch2::Catch2WithMain) + set_property(TARGET ${TEST_NAME} PROPERTY CXX_STANDARD 14) + 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 is used by Catch2 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) + ) + + # Set compiler option /FC for Visual Studio to to make the __FILE__ macro expand to full path. + # The __FILE__ macro is used by Catch2 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() +endif() \ No newline at end of file diff --git a/cpp/test/cpp_catch2_unittest/CMakeLists.txt b/cpp/test/cpp_catch2_unittest/CMakeLists.txt index 80d8a3fb..5ed8ff2d 100644 --- a/cpp/test/cpp_catch2_unittest/CMakeLists.txt +++ b/cpp/test/cpp_catch2_unittest/CMakeLists.txt @@ -1,19 +1,21 @@ -set(TEST_NAME GildedRoseCatch2UnitTests) -add_executable(${TEST_NAME}) -target_sources(${TEST_NAME} PRIVATE GildedRoseCatch2UnitTests.cc) -target_link_libraries(${TEST_NAME} GildedRoseLib Catch2::Catch2 Catch2::Catch2WithMain ) -set_property(TARGET ${TEST_NAME} PROPERTY CXX_STANDARD 14) -add_test( +if (BUILD_UNIT_TESTS_WITH_CATCH2) + set(TEST_NAME GildedRoseCatch2UnitTests) + add_executable(${TEST_NAME}) + target_sources(${TEST_NAME} PRIVATE GildedRoseCatch2UnitTests.cc) + target_link_libraries(${TEST_NAME} GildedRoseLib Catch2::Catch2 Catch2::Catch2WithMain ) + set_property(TARGET ${TEST_NAME} PROPERTY CXX_STANDARD 14) + 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 is used by Catch2 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) + ) + + # Set compiler option /FC for Visual Studio to to make the __FILE__ macro expand to full path. + # The __FILE__ macro is used by Catch2 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() diff --git a/cpp/test/cpp_googletest_approvaltest/CMakeLists.txt b/cpp/test/cpp_googletest_approvaltest/CMakeLists.txt index 9d8e241a..79a967c9 100644 --- a/cpp/test/cpp_googletest_approvaltest/CMakeLists.txt +++ b/cpp/test/cpp_googletest_approvaltest/CMakeLists.txt @@ -1,20 +1,22 @@ -set(TEST_NAME GildedRoseGoogletestApprovalTests) -add_executable(${TEST_NAME}) -target_sources(${TEST_NAME} PRIVATE GildedRoseGoogletestApprovalTests.cc) -target_include_directories(${TEST_NAME} PUBLIC ../third_party) -target_link_libraries(${TEST_NAME} GildedRoseLib gtest) -set_property(TARGET ${TEST_NAME} PROPERTY CXX_STANDARD 11) -add_test( +if (BUILD_APPROVAL_TESTS_WITH_GTEST) + set(TEST_NAME GildedRoseGoogletestApprovalTests) + add_executable(${TEST_NAME}) + target_sources(${TEST_NAME} PRIVATE GildedRoseGoogletestApprovalTests.cc) + target_include_directories(${TEST_NAME} PUBLIC ../third_party) + target_link_libraries(${TEST_NAME} GildedRoseLib gtest) + 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) + ) + + # 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() diff --git a/cpp/test/cpp_googletest_unittest/CMakeLists.txt b/cpp/test/cpp_googletest_unittest/CMakeLists.txt index 0fda4950..c705c1dd 100644 --- a/cpp/test/cpp_googletest_unittest/CMakeLists.txt +++ b/cpp/test/cpp_googletest_unittest/CMakeLists.txt @@ -1,19 +1,21 @@ -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( +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) + ) + + # 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() diff --git a/cpp/test/cpp_texttest/CMakeLists.txt b/cpp/test/cpp_texttest/CMakeLists.txt index ddd89281..928db537 100644 --- a/cpp/test/cpp_texttest/CMakeLists.txt +++ b/cpp/test/cpp_texttest/CMakeLists.txt @@ -4,9 +4,9 @@ target_sources(${TEST_NAME} PRIVATE GildedRoseTextTests.cc) target_link_libraries(${TEST_NAME} GildedRoseLib) set_property(TARGET ${TEST_NAME} PROPERTY CXX_STANDARD 11) add_test( - NAME ${TEST_NAME} - COMMAND ${TEST_NAME} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + 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. @@ -15,5 +15,5 @@ add_test( # * 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") + target_compile_options(${TEST_NAME} PRIVATE "/FC") endif()