project(IndicatorsFakeQml)

find_package(Qt5Core REQUIRED)
find_package(Qt5Quick REQUIRED)

include_directories(
    ${CMAKE_CURRENT_SOURCE_DIR}
    ${CMAKE_CURRENT_BINARY_DIR}
    ${CMAKE_SOURCE_DIR}/plugins/Unity/Indicators
    ${CMAKE_SOURCE_DIR}/tests/mocks/QMenuModel
)

set(IndicatorsFakeQml_SOURCES
    fakeplugin.cpp
    ${CMAKE_SOURCE_DIR}/plugins/Unity/Indicators/indicators.h
    ${CMAKE_SOURCE_DIR}/plugins/Unity/Indicators/menucontentactivator.cpp
    ${CMAKE_SOURCE_DIR}/plugins/Unity/Indicators/unitymenumodelcache.cpp
    ${CMAKE_SOURCE_DIR}/plugins/Unity/Indicators/unitymenumodelstack.cpp
    ${CMAKE_SOURCE_DIR}/plugins/Unity/Indicators/visibleindicatorsmodel.cpp
    fakeindicatorsmodel.cpp
)

set(IndicatorsFakeQml_RESOURCES
    indicators_fake.qrc
)

qt5_add_resources(IndicatorsFakeQml_RESOURCES_RCC
    ${IndicatorsFakeQml_RESOURCES}
)

add_library(IndicatorsFakeQml SHARED
    ${IndicatorsFakeQml_RESOURCES_RCC}
    ${IndicatorsFakeQml_SOURCES}
)
add_definitions(-DUNITYINDICATORS_LIBRARY)

add_dependencies(IndicatorsFakeQml QMenuModelQml)
target_link_libraries(IndicatorsFakeQml
    -L${CMAKE_BINARY_DIR}/tests/mocks/QMenuModel
    -lqmenumodel
)

qt5_use_modules(IndicatorsFakeQml Core Qml Quick)

add_unity8_mock(Unity.Indicators 0.1 Unity/Indicators TARGETS IndicatorsFakeQml)
