From f98e64d9a6dc9b0a77ce0e912b49114d80df460f Mon Sep 17 00:00:00 2001 From: Bartekr100 Date: Fri, 7 Aug 2026 17:25:30 +0200 Subject: [PATCH 1/2] Initialize CMake project with GoogleTest support Set up CMake project with GoogleTest integration and define library and executable targets. --- CMakeLists.txt | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5f24bee..2a69cbb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,3 +1,39 @@ cmake_minimum_required(VERSION 3.11.0) -# TODO: Write proper build system :) + +include(FetchContent) +FetchContent_Declare( + googletest + URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip +) + +project(Pizzas) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(SRC_LIST src/Funghi.cpp src/Margherita.cpp src/Pizza.cpp src/Pizzeria.cpp) + +add_library(${PROJECT_NAME}-lib STATIC ${SRC_LIST}) + + +add_executable(${PROJECT_NAME} src/main.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE ${PROJECT_NAME}-lib pthread) + +enable_testing() + +set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) +FetchContent_MakeAvailable(googletest) + +add_executable(hello_test test/PizzeriaTest.cpp test/test_main.cpp) +target_include_directories(hello_test PRIVATE src) +target_link_libraries(hello_test PRIVATE GTest::gtest_main gmock ${PROJECT_NAME}-lib) + +include(GoogleTest) +gtest_discover_tests(hello_test) + + + + + + + From eb24e039a84483b5dd55a184a9fe3c3d3d4b003a Mon Sep 17 00:00:00 2001 From: Bartekr100 Date: Fri, 7 Aug 2026 17:32:20 +0200 Subject: [PATCH 2/2] Rename hello_test to ${PROJECT_NAME}-ut --- CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2a69cbb..05cbf1d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,12 +24,12 @@ enable_testing() set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) FetchContent_MakeAvailable(googletest) -add_executable(hello_test test/PizzeriaTest.cpp test/test_main.cpp) -target_include_directories(hello_test PRIVATE src) -target_link_libraries(hello_test PRIVATE GTest::gtest_main gmock ${PROJECT_NAME}-lib) +add_executable(${PROJECT_NAME}-ut test/PizzeriaTest.cpp) +target_include_directories(${PROJECT_NAME}-ut PRIVATE src) +target_link_libraries(${PROJECT_NAME}-ut PRIVATE GTest::gtest_main gmock ${PROJECT_NAME}-lib) include(GoogleTest) -gtest_discover_tests(hello_test) +gtest_discover_tests(${PROJECT_NAME}-ut)