# CMakeLists.txt for lunarcalendarwidget unit test
cmake_minimum_required(VERSION 3.10)
project(test_lunarcalendarwidget)

# Find required packages
find_package(Qt5 REQUIRED COMPONENTS Core Widgets DBus Sql Test)
find_package(PkgConfig REQUIRED)
find_package(GTest REQUIRED)

# Add coverage flags
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lgcov")

# Include directories
include_directories(
    ../../../lunarcalendarwidget
    ${CMAKE_CURRENT_BINARY_DIR}
    ${Qt5Core_INCLUDE_DIRS}
    ${Qt5Widgets_INCLUDE_DIRS}
    ${GTEST_INCLUDE_DIRS}
)

# Source files
set(SOURCES
    test_lunarcalendarwidget.cpp
    main.cpp
)

# Target executable
add_executable(test_lunarcalendarwidget ${SOURCES})

# Link libraries
target_link_libraries(test_lunarcalendarwidget
    Qt5::Core
    Qt5::Widgets
    Qt5::DBus
    Qt5::Sql
    Qt5::Test
    gtest
    gmock
    gcov
)

# Add this test to the global test target
add_custom_target(run_test_lunarcalendarwidget
    COMMAND test_lunarcalendarwidget
    DEPENDS test_lunarcalendarwidget
)