find_package(PkgConfig REQUIRED)
find_package(Qt6 REQUIRED COMPONENTS Widgets Xml LinguistTools)

set(PLUGIN_NAME "aptplugin")

pkg_check_modules(LIBEPT libept)

include_directories(${PROJECT_SOURCE_DIR}/app/src)

add_library(${PLUGIN_NAME} SHARED 
aptplugincontainer.cpp 
    aptsearchplugin.cpp 
    packagedescriptionplugin.cpp 
    packagestatusplugin.cpp 
    aptpluginfactory.cpp 
    ipackagedb.cpp 
    iaptsearch.cpp 
    installedversionplugin.cpp 
    availableversionplugin.cpp 
    aptsearchscorecalculationstrategy.cpp 
    complexscorecalculationstrategy.cpp 
    installedfilterwidget.cpp 
    aptsearchpluginshortinputwidget.cpp 
    aptactionplugin.cpp 
    ipackage.cpp 
    aptfrontpackagedb.cpp 
    aptfrontpackage.cpp 
    aptsettingswidget.cpp 
    installationtool.cpp
    aptsearchpluginshortinputwidget.ui
    installedfilterwidget.ui
    aptsettingswidget.ui
)
 
qt_add_translations(${PLUGIN_NAME} TS_FILES 
    ${PROJECT_SOURCE_DIR}/translations/${PLUGIN_NAME}_de.ts 
    ${PROJECT_SOURCE_DIR}/translations/${PLUGIN_NAME}_es.ts
)

target_link_libraries(${PLUGIN_NAME} PRIVATE apt-pkg)
target_link_libraries(${PLUGIN_NAME} PRIVATE Qt6::Widgets Qt6::Xml)
target_link_libraries(${PLUGIN_NAME} PRIVATE ${LIBEPT_LIBRARIES})

install(TARGETS ${PLUGIN_NAME} DESTINATION  ${PLUGIN_TARGET_DIR})
install(FILES 
    ${CMAKE_CURRENT_BINARY_DIR}/${PLUGIN_NAME}_de.qm
    ${CMAKE_CURRENT_BINARY_DIR}/${PLUGIN_NAME}_es.qm
    DESTINATION ${TRANSLATION_TARGET_DIR}
)
