cmake_minimum_required(VERSION 3.24)
project(shop)

include(../3rdparty/QxOrm/QxOrm.cmake)

set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ../plugins)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)

find_package(Qt6 COMPONENTS
        Core
        Gui
        Widgets
        Qml
        REQUIRED)

add_library(shop SHARED
        directsaleform.cpp
        directsaleform.h
        directsaleform.ui
        directsaleitem.cpp
        directsaleitem.h
        eetbatchdialog.cpp
        eetbatchdialog.h
        eetbatchdialog.ui
        favbutton.h
        isellableservice.cpp
        isellableservice.h
        iseller.cpp
        iseller.h
        ishopitem.h
        paydialog.cpp
        paydialog.h
        paydialog.ui
        paydvouchersdialog.cpp
        paydvouchersdialog.h
        paydvouchersdialog.ui
        receiptgenerator.cpp
        receiptgenerator.h
        receiptloadform.cpp
        receiptloadform.h
        receiptloadform.ui
        receiptsaveform.cpp
        receiptsaveform.h
        receiptsaveform.ui
        shop.cpp
        shop.h
        shop_global.h
        shopform.cpp
        shopform.h
        shopform.ui
        shopitem.cpp
        shopform.h
        shopoverview.cpp
        shopoverview.h
        shopoverview.ui
        shoprc.qrc
        shopservice.cpp
        shopservice.h
        temporaryreceiptsaveform.cpp
        temporaryreceiptsaveform.h
        temporaryreceiptsaveform.ui
        data/favoritgroup.cpp
        data/favoritgroup.h
        data/favorititem.cpp
        data/favorititem.h
        data/shop-data.h
        data/voucher.cpp
        data/voucher.h
        data/voucheritem.cpp
        data/voucheritem.h
        settings/shopsettings.cpp
        settings/shopsettings.h
        settings/shopsettingsform.cpp
        settings/shopsettingsform.h
        settings/shopsettingsform.ui ishopitem.cpp)

target_compile_definitions(shop PRIVATE -DSHOP_LIBRARY)

include_directories(../core ../countryregister ../addressbook)

target_link_libraries(shop
        Qt::Core
        Qt::Gui
        Qt::Widgets
        Qt::Qml
        qdecimal
        decnumber
        QxOrm
        core
        addressbook
        )