﻿cmake_minimum_required(VERSION 3.10)

project(TestJenkins VERSION 1.0)

# C++ Standard
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

# Enable testing
enable_testing()

# -----------------------------------------------------------------------------
# Person library
# -----------------------------------------------------------------------------

add_library(Person
    src/Person.cpp
)

target_include_directories(Person
    PUBLIC
        ${CMAKE_CURRENT_SOURCE_DIR}/src
)

# -----------------------------------------------------------------------------
# Main executable
# -----------------------------------------------------------------------------

add_executable(TestJenkins
    src/TestJenkins.cpp
)

target_link_libraries(TestJenkins
    PRIVATE
        Person
)

# -----------------------------------------------------------------------------
# GoogleTest
# -----------------------------------------------------------------------------
#
#include(FetchContent)
#
#FetchContent_Declare(
#    googletest
#    URL https://github.com/google/googletest/archive/refs/tags/v1.14.0.zip
#)
#
#FetchContent_MakeAvailable(googletest)
#
#add_executable(UT_Person
#    tests/UT_Person.cpp
#)
#
#target_link_libraries(UT_Person
#    PRIVATE
#        Person
#        GTest::gtest
#        GTest::gtest_main
#)
#
#include(GoogleTest)
#gtest_discover_tests(UT_Person)
#
## Optional: place executables in a common output folder
#set_target_properties(TestJenkins UT_Person PROPERTIES
#    RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
#)
#