# Copyright (C) 2026 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause

qt_internal_add_module(Organizer
    PLUGIN_TYPES organizer
    SOURCES
        qorganizerabstractrequest.cpp
        qorganizercollection.cpp
        qorganizercollectionchangeset.cpp
        qorganizercollectionid.cpp
        qorganizeritem.cpp
        qorganizeritemchangeset.cpp
        qorganizeritemdetail.cpp
        qorganizeritemfetchhint.cpp
        qorganizeritemfilter.cpp
        qorganizeritemid.cpp
        qorganizeritemobserver.cpp
        qorganizermanager.cpp
        qorganizermanager_p.cpp
        qorganizermanagerengine.cpp
        qorganizermanagerenginefactory.cpp
        qorganizerrecurrencerule.cpp
        qorganizeritemsortorder.cpp
        details/qorganizeritemdetails.cpp
        filters/qorganizeritemcollectionfilter.cpp
        filters/qorganizeritemdetailfieldfilter.cpp
        filters/qorganizeritemdetailfilter.cpp
        filters/qorganizeritemdetailrangefilter.cpp
        filters/qorganizeritemidfilter.cpp
        filters/qorganizeritemintersectionfilter.cpp
        filters/qorganizeriteminvalidfilter.cpp
        filters/qorganizeritemunionfilter.cpp
        items/qorganizerevent.cpp
        items/qorganizereventoccurrence.cpp
        items/qorganizerjournal.cpp
        items/qorganizernote.cpp
        items/qorganizertodo.cpp
        items/qorganizertodooccurrence.cpp
        requests/qorganizercollectionfetchrequest.cpp
        requests/qorganizercollectionremoverequest.cpp
        requests/qorganizercollectionsaverequest.cpp
        requests/qorganizeritemfetchbyidrequest.cpp
        requests/qorganizeritemfetchforexportrequest.cpp
        requests/qorganizeritemfetchrequest.cpp
        requests/qorganizeritemidfetchrequest.cpp
        requests/qorganizeritemoccurrencefetchrequest.cpp
        requests/qorganizeritemremovebyidrequest.cpp
        requests/qorganizeritemremoverequest.cpp
        requests/qorganizeritemsaverequest.cpp
        qorganizer.h
        qorganizerabstractrequest.h
        qorganizercollection.h
        qorganizercollectionchangeset.h
        qorganizercollectionid.h
        qorganizerglobal.h
        qorganizeritem.h
        qorganizeritemchangeset.h
        qorganizeritemdetail.h
        qorganizeritemfetchhint.h
        qorganizeritemfilter.h
        qorganizeritemid.h
        qorganizeritemobserver.h
        qorganizermanager.h
        qorganizermanagerengine.h
        qorganizermanagerenginefactory.h
        qorganizerrecurrencerule.h
        qorganizeritemsortorder.h
        details/qorganizereventattendee.h
        details/qorganizereventrsvp.h
        details/qorganizereventtime.h
        details/qorganizeritemaudiblereminder.h
        details/qorganizeritemclassification.h
        details/qorganizeritemcomment.h
        details/qorganizeritemdescription.h
        details/qorganizeritemdisplaylabel.h
        details/qorganizeritemdetails.h
        details/qorganizeritememailreminder.h
        details/qorganizeritemextendeddetail.h
        details/qorganizeritemguid.h
        details/qorganizeritemlocation.h
        details/qorganizeritemparent.h
        details/qorganizeritempriority.h
        details/qorganizeritemrecurrence.h
        details/qorganizeritemreminder.h
        details/qorganizeritemtag.h
        details/qorganizeritemtimestamp.h
        details/qorganizeritemtype.h
        details/qorganizeritemversion.h
        details/qorganizeritemvisualreminder.h
        details/qorganizerjournaltime.h
        details/qorganizertodoprogress.h
        details/qorganizertodotime.h
        filters/qorganizeritemcollectionfilter.h
        filters/qorganizeritemdetailfieldfilter.h
        filters/qorganizeritemdetailfilter.h
        filters/qorganizeritemdetailrangefilter.h
        filters/qorganizeritemfilters.h
        filters/qorganizeritemidfilter.h
        filters/qorganizeritemintersectionfilter.h
        filters/qorganizeriteminvalidfilter.h
        filters/qorganizeritemunionfilter.h
        items/qorganizerevent.h
        items/qorganizereventoccurrence.h
        items/qorganizerjournal.h
        items/qorganizeritems.h
        items/qorganizernote.h
        items/qorganizertodo.h
        items/qorganizertodooccurrence.h
        requests/qorganizercollectionfetchrequest.h
        requests/qorganizercollectionremoverequest.h
        requests/qorganizercollectionsaverequest.h
        requests/qorganizeritemfetchbyidrequest.h
        requests/qorganizeritemfetchforexportrequest.h
        requests/qorganizeritemfetchrequest.h
        requests/qorganizeritemidfetchrequest.h
        requests/qorganizeritemoccurrencefetchrequest.h
        requests/qorganizeritemremovebyidrequest.h
        requests/qorganizeritemremoverequest.h
        requests/qorganizeritemrequests.h
        requests/qorganizeritemsaverequest.h
        qorganizerabstractrequest_p.h
        qorganizercollection_p.h
        qorganizercollectionchangeset_p.h
        qorganizeritem_p.h
        qorganizeritemchangeset_p.h
        qorganizeritemdetail_p.h
        qorganizeritemfetchhint_p.h
        qorganizeritemfilter_p.h
        qorganizermanager_p.h
        qorganizerrecurrencerule_p.h
        qorganizeritemsortorder_p.h
        filters/qorganizeritemcollectionfilter_p.h
        filters/qorganizeritemdetailfieldfilter_p.h
        filters/qorganizeritemdetailfilter_p.h
        filters/qorganizeritemdetailrangefilter_p.h
        filters/qorganizeritemidfilter_p.h
        filters/qorganizeritemintersectionfilter_p.h
        filters/qorganizeritemunionfilter_p.h
        requests/qorganizeritemrequests_p.h
    LIBRARIES
        Qt::CorePrivate
    PUBLIC_LIBRARIES
        Qt::Core
)

target_include_directories(Organizer PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/requests)

if(DEFINED ORGANIZER_DEFAULT_ENGINE)
    target_compile_definitions(Organizer
        PRIVATE Q_ORGANIZER_DEFAULT_ENGINE=${ORGANIZER_DEFAULT_ENGINE}
    )
endif()
