# CMakeLists.txt for schedulewidget unit tests
cmake_minimum_required(VERSION 3.5.0)
project(test_schedulewidget)

# Set C++ standard
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# Enable Qt features
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)

# Find required packages
find_package(Qt5 COMPONENTS Core Widgets Test REQUIRED)

# Include directories
include_directories(
    ${CMAKE_SOURCE_DIR}/../../lunarcalendarwidget
)

# Source files for test
set(TEST_SOURCES
    test_schedulewidget.cpp
    main.cpp
)

# Header files for test
set(TEST_HEADERS
    test_schedulewidget.h
)

# Create test executable
add_executable(test_schedulewidget ${TEST_SOURCES} ${TEST_HEADERS})

# Link libraries
target_link_libraries(test_schedulewidget PRIVATE
    Qt5::Core
    Qt5::Widgets
    Qt5::Test
)

# Enable coverage flags
target_compile_options(test_schedulewidget PRIVATE --coverage)
target_link_libraries(test_schedulewidget PRIVATE -lgcov --coverage)