cmake_minimum_required(VERSION 3.24)
project(camp)

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(camp SHARED
        addservicedialog.cpp
        addservicedialog.h
        addservicedialog.ui
        camp.cpp
        camp.h
        camp_global.h
        campform.cpp
        campform.h
        campform.ui
        campgrid.cpp
        campgrid.h
        camprc.qrc
        campseller.cpp
        campseller.h
        campservice.cpp
        campservice.h
        campshopitem.cpp
        campshopitem.h
        campwizard.cpp
        campwizard.h
        campwizard.ui
        detailwidget.cpp
        detailwidget.h
        detailwidget.ui
        data/addressitem.cpp
        data/addressitem.h
        data/camp-data.h
        data/campdata.cpp
        data/campdata.h
        data/personprice.cpp
        data/personprice.h
        data/sale.cpp
        data/sale.h
        data/serviceitem.cpp
        data/serviceitem.h
        settings/campsettings.cpp
        settings/campsettings.h
        settings/campsettingsform.cpp
        settings/campsettingsform.h
        settings/campsettingsform.ui)

target_compile_definitions(camp PRIVATE -DCAMP_LIBRARY)

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

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

install(TARGETS addressbook
        LIBRARY DESTINATION ../plugins)