qt_add_executable(${PROJECT_NAME}
    main.cpp
)

qt_add_qml_module(${PROJECT_NAME}
    URI Camper
    VERSION 1.0
    DEPENDENCIES
        QtCore
        QtQuick
    SOURCES
        calendarlistmodel.cpp calendarlistmodel.h
        database.cpp database.h
        mnemonicattached.cpp mnemonicattached.h
    QML_FILES
        ErrorNotification.qml
        Expander.qml
        LoginPage.qml
        Main.qml
        MnemonicAction.qml
        MnemonicLabel.qml
        ReservationsPage.qml
        SelectableLabel.qml
)

set_target_properties(${PROJECT_NAME} PROPERTIES
    MACOSX_BUNDLE_GUI_IDENTIFIER ws.tandem.${PROJECT_NAME}
    MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
    MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
    MACOSX_BUNDLE TRUE
    WIN32_EXECUTABLE TRUE
)

target_link_libraries(${PROJECT_NAME}
    PRIVATE
        Qt6::Concurrent
        Qt6::Quick
        Qt6::QuickControls2
        Qt6::Sql
)

include(GNUInstallDirs)
install(TARGETS ${PROJECT_NAME}
    BUNDLE DESTINATION .
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
