cmake_minimum_required(VERSION 3.14)
project(odf-management VERSION 1.0.0 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

# MSVC UTF-8 support
if (MSVC)
    add_compile_options(/utf-8)
endif()

# ---- Main executable ----
add_executable(odf_manager
    src/main.cpp
    src/app.cpp
    src/odf_unit.cpp
    src/adapter_interface.cpp
    src/naming_helper.cpp
    src/config_template.cpp
    src/project_milestone.cpp
)

target_include_directories(odf_manager
    PRIVATE
        ${CMAKE_CURRENT_SOURCE_DIR}/include
)

# ---- Test executable ----
add_executable(basic_test
    tests/basic_test.cpp
    src/app.cpp
    src/odf_unit.cpp
    src/adapter_interface.cpp
    src/naming_helper.cpp
    src/config_template.cpp
    src/project_milestone.cpp
)

target_include_directories(basic_test
    PRIVATE
        ${CMAKE_CURRENT_SOURCE_DIR}/include
)
