Skip to content
Snippets Groups Projects
Select Git revision
  • master
1 result

CMakeLists.txt

Blame
  • CMakeLists.txt 1.48 KiB
    cmake_minimum_required(VERSION 3.26)
    project(Hausuebung2)
    
    set(CMAKE_CXX_STANDARD 14)
    
    add_executable(Hausuebung2
            src/main.cpp
            src/LinkedList.cpp
            src/LinkedList.hpp
            src/ListItem.cpp
            src/ListItem.hpp
    )
    
    # Fetch Catch2
    Include(FetchContent)
    FetchContent_Declare(
            googletest
            GIT_REPOSITORY https://github.com/google/googletest.git
            GIT_TAG        v1.15.2
    )
    
    set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
    FetchContent_MakeAvailable(googletest)
    enable_testing()
    
    add_executable(test_listitem
            src/ListItem.cpp
            src/ListItem.hpp
            src/ListItem.test-public.cpp
    )
    add_executable(test_linkedlist
            src/LinkedList.cpp
            src/LinkedList.hpp
            src/ListItem.cpp
            src/ListItem.hpp
            src/LinkedList.test-public.cpp
    )
    add_executable(test_private
            src/ListItem.cpp
            src/ListItem.hpp
            src/LinkedList.cpp
            src/LinkedList.hpp
            src/ListItem.test-private.cpp
            src/LinkedList.test-private.cpp
    )
    target_link_libraries(test_listitem PRIVATE GTest::gtest_main)
    target_link_libraries(test_linkedlist PRIVATE GTest::gtest_main)
    target_link_libraries(test_private PRIVATE GTest::gtest_main)
    target_include_directories(test_listitem PRIVATE src/)
    target_include_directories(test_linkedlist PRIVATE src/)
    target_include_directories(test_private PRIVATE src/)
    
    include(GoogleTest)
    
    gtest_discover_tests(test_listitem)
    gtest_discover_tests(test_linkedlist)
    gtest_discover_tests(test_private)