Warning, /maui/mauikit-calendar/src/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # SPDX-FileCopyrightText: 2020 Camilo Higuita <milo.h@aol.com>
0002 #
0003 # SPDX-License-Identifier: GPL-3.0-or-later
0004 
0005 add_subdirectory(code/lib)
0006 
0007 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/code
0008     ${CMAKE_CURRENT_SOURCE_DIR}/code/models)
0009 
0010 ##for qt6 split the library from the plugin
0011 if (QT_MAJOR_VERSION STREQUAL "6")
0012     add_library(MauiKitCalendar${MAUI_MAJOR_VERSION})
0013     set_source_files_properties(controls.${QT_MAJOR_VERSION}/KalendarUiUtils.qml PROPERTIES QT_QML_SINGLETON_TYPE TRUE)
0014 endif()
0015 
0016 ecm_add_qml_module(MauiKitCalendar${MAUI_MAJOR_VERSION} 
0017     VERSION 1.0
0018     URI "org.mauikit.calendar"
0019     CLASS_NAME MauiCalendarPlugin)
0020 
0021 ##header files to install
0022 set(lib_HDRS
0023     code/moduleinfo.h)
0024 
0025 if (QT_MAJOR_VERSION STREQUAL "5")
0026     if(QUICK_COMPILER)
0027         qtquick_compiler_add_resources(lib_QML_QRC controls.5/qml.qrc)
0028     else()
0029         qt5_add_resources(lib_QML_QRC controls.5/qml.qrc)
0030     endif()
0031 endif()
0032 
0033 target_sources(MauiKitCalendar${MAUI_MAJOR_VERSION}
0034     PRIVATE
0035     
0036     code/moduleinfo.cpp
0037     code/moduleinfo.h
0038     
0039     code/calendarmanager.cpp
0040     code/calendarmanager.h
0041     
0042     code/incidencewrapper.cpp
0043     code/incidencewrapper.h
0044 
0045     code/filter.cpp
0046     code/filter.h
0047 
0048     #    code/agentconfiguration.cpp
0049     # code/models/todosortfilterproxymodel.cpp
0050     code/models/infinitecalendarviewmodel.cpp
0051     code/models/infinitecalendarviewmodel.h
0052 
0053     code/models/hourlyincidencemodel.cpp
0054     code/models/hourlyincidencemodel.h
0055     
0056     code/models/multidayincidencemodel.cpp
0057     code/models/multidayincidencemodel.h
0058     
0059     code/models/incidenceoccurrencemodel.cpp
0060     code/models/incidenceoccurrencemodel.h
0061     
0062     code/models/monthmodel.cpp
0063     code/models/monthmodel.h
0064     
0065     code/models/timezonelistmodel.cpp
0066     code/models/timezonelistmodel.h
0067     
0068     code/collection.cpp
0069     code/collection.h
0070     
0071     code/collectioncomboboxmodel.cpp
0072     code/collectioncomboboxmodel.h
0073     
0074     code/mimetypes.cpp
0075     code/mimetypes.h)
0076 
0077 ecm_target_qml_sources(MauiKitCalendar${MAUI_MAJOR_VERSION} SOURCES
0078     controls.${QT_MAJOR_VERSION}/labelutils.js
0079     controls.${QT_MAJOR_VERSION}/dateutils.js
0080     controls.${QT_MAJOR_VERSION}/CollectionComboBox.qml
0081     controls.${QT_MAJOR_VERSION}/DateComboBox.qml
0082     controls.${QT_MAJOR_VERSION}/DatePicker.qml
0083     controls.${QT_MAJOR_VERSION}/DayGridView.qml
0084     controls.${QT_MAJOR_VERSION}/DayLabelsBar.qml
0085     controls.${QT_MAJOR_VERSION}/DaysGrid.qml
0086     controls.${QT_MAJOR_VERSION}/EventPage.qml
0087     controls.${QT_MAJOR_VERSION}/HourlyView.qml
0088     controls.${QT_MAJOR_VERSION}/MonthsGrid.qml
0089     controls.${QT_MAJOR_VERSION}/MonthView.qml
0090     controls.${QT_MAJOR_VERSION}/TimeComboBox.qml
0091     controls.${QT_MAJOR_VERSION}/YearsGrid.qml
0092     controls.${QT_MAJOR_VERSION}/YearView.qml
0093     controls.${QT_MAJOR_VERSION}/KalendarUiUtils.qml
0094     controls.${QT_MAJOR_VERSION}/TimePicker.qml)
0095 
0096 ##register the plugin only for qt5 - for qt6 it is autogenerated
0097 if (QT_MAJOR_VERSION STREQUAL "5")
0098     target_sources(MauiKitCalendar${MAUI_MAJOR_VERSION}
0099         PRIVATE
0100         code/plugin.cpp
0101         code/plugin.h)
0102 endif()
0103 
0104 add_library(MauiKit${MAUI_MAJOR_VERSION}::Calendar ALIAS MauiKitCalendar${MAUI_MAJOR_VERSION})
0105 
0106 if (QT_MAJOR_VERSION STREQUAL "5")
0107     if(QUICK_COMPILER)
0108         target_sources(MauiKitCalendar${MAUI_MAJOR_VERSION} PRIVATE ${lib_QML_QRC})
0109 
0110         add_definitions(-DQUICK_COMPILER)
0111         target_compile_definitions(MauiKitCalendar${MAUI_MAJOR_VERSION} PUBLIC QUICK_COMPILER)
0112     endif()
0113 endif()
0114 
0115 generate_export_header(MauiKitCalendar${MAUI_MAJOR_VERSION} BASE_NAME Calendar)
0116 set_target_properties(MauiKitCalendar${MAUI_MAJOR_VERSION} PROPERTIES
0117     VERSION ${PROJECT_VERSION}
0118     SOVERSION ${PROJECT_VERSION_MAJOR}
0119     EXPORT_NAME "Calendar")
0120 
0121 target_include_directories(MauiKitCalendar${MAUI_MAJOR_VERSION}
0122     INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/MauiKit${MAUI_MAJOR_VERSION}/Calendar>")
0123 
0124 target_include_directories(MauiKitCalendar${MAUI_MAJOR_VERSION} PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_BINARY_DIR};>")
0125 
0126 target_link_libraries(MauiKitCalendar${MAUI_MAJOR_VERSION}
0127     PRIVATE
0128 
0129     MauiKit${MAUI_MAJOR_VERSION}
0130     kalendar_lib
0131     Qt${QT_MAJOR_VERSION}::Core
0132     Qt${QT_MAJOR_VERSION}::Quick
0133     Qt${QT_MAJOR_VERSION}::Qml
0134 
0135     KF${KF_MAJOR_VERSION}::I18n
0136     KF${KF_MAJOR_VERSION}::CoreAddons
0137     KF${KF_MAJOR_VERSION}::ConfigCore
0138 
0139     KF${KF_MAJOR_VERSION}::CalendarCore
0140     KF${KF_MAJOR_VERSION}::Contacts
0141 
0142     KPim${KF_MAJOR_VERSION}::AkonadiCore
0143     KPim${KF_MAJOR_VERSION}::AkonadiCalendar)
0144 
0145 if (QT_MAJOR_VERSION STREQUAL "5")
0146     target_link_libraries(MauiKitCalendar${MAUI_MAJOR_VERSION} PRIVATE
0147         KPim${KF_MAJOR_VERSION}::AkonadiContact)
0148 else()
0149     target_link_libraries(MauiKitCalendar${MAUI_MAJOR_VERSION} PRIVATE
0150         KPim${KF_MAJOR_VERSION}::AkonadiContactCore)
0151 endif()
0152 
0153 ecm_finalize_qml_module(MauiKitCalendar${MAUI_MAJOR_VERSION} DESTINATION ${KDE_INSTALL_QMLDIR})
0154 
0155 install(TARGETS MauiKitCalendar${MAUI_MAJOR_VERSION} EXPORT MauiKitCalendar${MAUI_MAJOR_VERSION}Targets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0156 
0157 install(FILES
0158     ${lib_HDRS}
0159     ${CMAKE_CURRENT_BINARY_DIR}/calendar_export.h
0160     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/MauiKit${MAUI_MAJOR_VERSION}/Calendar
0161     COMPONENT Devel)