cmake_minimum_required(VERSION 3.0.0)

project(libfly-scan LANGUAGES CXX)

add_definitions(-DTRANSLATION_DOMAIN=\"libfly-scan\")

set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set (KF5_MIN_VERSION "5.46.0")

find_package (ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}  ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

find_package(Qt5 COMPONENTS Widgets REQUIRED)

find_package(KF5Sane ${KF5_MIN_VERSION} REQUIRED)
find_package(KF5I18n ${KF5_VERSION} REQUIRED)

find_package(flyadminpackage REQUIRED)

include_directories (${FLYADMINPACKAGE_INCLUDE_DIRS})

set(fly-scan_SRCS
    flyscan_global.h
    flyscanplugin.cpp
    flyscanplugin.h
    pageswidget.cpp
    pagesmodel.cpp
    pdfdocumentsaver.cpp
    tiffdocumentsaver.cpp
    pageitemdelegate.cpp
    hpplugins.cpp
    fly-scan.qrc)

ki18n_wrap_ui(fly-scan_SRCS pageswidget.ui)

add_library(fly-scan SHARED ${fly-scan_SRCS})

target_link_libraries(fly-scan PRIVATE Qt5::Widgets KF5::Sane KF5::I18n tiff flyadminpackage)

target_compile_definitions(fly-scan PRIVATE FLYSCAN_LIBRARY)

install(FILES
  ${CMAKE_CURRENT_BINARY_DIR}/libfly-scan.so
  DESTINATION /usr/lib/x86_64-linux-gnu
)

ki18n_install(po)

feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
