Warning, /frameworks/kirigami/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 include(${CMAKE_CURRENT_SOURCE_DIR}/IncludeStaticDependencies.cmake) 0002 0003 add_subdirectory(platform) 0004 0005 add_subdirectory(delegates) 0006 0007 add_library(Kirigami) 0008 add_library(KF6::Kirigami ALIAS Kirigami) 0009 0010 if (WIN32) 0011 # Kirigami apparently adds too many sources so on Windows we end 0012 # up running into command line length limits. So disable cache 0013 # generation on Windows for now. 0014 set(_extra_options NO_CACHEGEN) 0015 endif() 0016 if (BUILD_SHARED_LIBS) 0017 set(_extra_options ${_extra_options} NO_PLUGIN_OPTIONAL) 0018 endif() 0019 if (ANDROID) 0020 set(_extra_options ${_extra_options} OPTIONAL_IMPORTS org.kde.breeze) 0021 endif() 0022 0023 ecm_add_qml_module(Kirigami URI "org.kde.kirigami" VERSION 2.0 0024 CLASS_NAME KirigamiPlugin 0025 DEPENDENCIES 0026 "QtQuick.Controls" 0027 IMPORTS 0028 "org.kde.kirigami.platform" 0029 "org.kde.kirigami.delegates" 0030 ${_extra_options} 0031 ) 0032 0033 ecm_create_qm_loader(kirigami_QM_LOADER libkirigami6_qt) 0034 target_sources(Kirigami PRIVATE ${kirigami_QM_LOADER}) 0035 0036 ecm_qt_declare_logging_category(Kirigami 0037 HEADER loggingcategory.h 0038 IDENTIFIER KirigamiLog 0039 CATEGORY_NAME kf.kirigami 0040 DESCRIPTION "Kirigami" 0041 DEFAULT_SEVERITY Warning 0042 EXPORT KIRIGAMI 0043 ) 0044 0045 set_target_properties(Kirigami PROPERTIES 0046 VERSION ${PROJECT_VERSION} 0047 SOVERSION 6 0048 EXPORT_NAME "Kirigami" 0049 ) 0050 0051 target_include_directories(Kirigami PRIVATE 0052 ${CMAKE_CURRENT_SOURCE_DIR}/platform 0053 ${CMAKE_CURRENT_BINARY_DIR}/platform 0054 ) 0055 0056 target_sources(Kirigami PRIVATE 0057 colorutils.cpp 0058 colorutils.h 0059 columnview.cpp 0060 columnview.h 0061 columnview_p.h 0062 enums.cpp 0063 enums.h 0064 formlayoutattached.cpp 0065 formlayoutattached.h 0066 headerfooterlayout.cpp 0067 icon.cpp 0068 icon.h 0069 imagecolors.cpp 0070 imagecolors.h 0071 mnemonicattached.cpp 0072 mnemonicattached.h 0073 overlayzstackingattached.cpp 0074 overlayzstackingattached.h 0075 padding.cpp 0076 padding.h 0077 pagepool.cpp 0078 pagepool.h 0079 scenepositionattached.cpp 0080 scenepositionattached.h 0081 shadowedrectangle.cpp 0082 shadowedrectangle.h 0083 shadowedtexture.cpp 0084 shadowedtexture.h 0085 sizegroup.cpp 0086 sizegroup.h 0087 spellcheckattached.cpp 0088 spellcheckattached.h 0089 toolbarlayout.cpp 0090 toolbarlayoutdelegate.cpp 0091 toolbarlayoutdelegate.h 0092 toolbarlayout.h 0093 wheelhandler.cpp 0094 wheelhandler.h 0095 0096 scenegraph/managedtexturenode.cpp 0097 scenegraph/managedtexturenode.h 0098 scenegraph/paintedrectangleitem.cpp 0099 scenegraph/paintedrectangleitem.h 0100 scenegraph/shadowedborderrectanglematerial.cpp 0101 scenegraph/shadowedborderrectanglematerial.h 0102 scenegraph/shadowedbordertexturematerial.cpp 0103 scenegraph/shadowedbordertexturematerial.h 0104 scenegraph/shadowedrectanglematerial.cpp 0105 scenegraph/shadowedrectanglematerial.h 0106 scenegraph/shadowedrectanglenode.cpp 0107 scenegraph/shadowedrectanglenode.h 0108 scenegraph/shadowedtexturematerial.cpp 0109 scenegraph/shadowedtexturematerial.h 0110 scenegraph/shadowedtexturenode.cpp 0111 scenegraph/shadowedtexturenode.h 0112 ) 0113 0114 target_sources(Kirigamiplugin PRIVATE 0115 kirigamiplugin.cpp 0116 kirigamiplugin.h 0117 ) 0118 0119 qt6_add_shaders(Kirigami "shaders" 0120 BATCHABLE 0121 PRECOMPILE 0122 OPTIMIZED 0123 PREFIX "/org/kde/kirigami/shaders" 0124 FILES 0125 scenegraph/shaders6/shadowedrectangle.vert 0126 scenegraph/shaders6/shadowedrectangle.frag 0127 scenegraph/shaders6/shadowedrectangle_lowpower.frag 0128 scenegraph/shaders6/shadowedborderrectangle.frag 0129 scenegraph/shaders6/shadowedborderrectangle_lowpower.frag 0130 scenegraph/shaders6/shadowedtexture.frag 0131 scenegraph/shaders6/shadowedtexture_lowpower.frag 0132 scenegraph/shaders6/shadowedbordertexture.frag 0133 scenegraph/shaders6/shadowedbordertexture_lowpower.frag 0134 OUTPUTS 0135 shadowedrectangle.vert.qsb 0136 shadowedrectangle.frag.qsb 0137 shadowedrectangle_lowpower.frag.qsb 0138 shadowedborderrectangle.frag.qsb 0139 shadowedborderrectangle_lowpower.frag.qsb 0140 shadowedtexture.frag.qsb 0141 shadowedtexture_lowpower.frag.qsb 0142 shadowedbordertexture.frag.qsb 0143 shadowedbordertexture_lowpower.frag.qsb 0144 ) 0145 0146 ecm_target_qml_sources(Kirigami SOURCES 0147 controls/Action.qml 0148 controls/AbstractApplicationHeader.qml 0149 controls/AbstractApplicationWindow.qml 0150 controls/ApplicationWindow.qml 0151 controls/OverlayDrawer.qml 0152 controls/ContextDrawer.qml 0153 controls/GlobalDrawer.qml 0154 controls/Heading.qml 0155 controls/Separator.qml 0156 controls/PageRow.qml 0157 controls/OverlaySheet.qml 0158 controls/Page.qml 0159 controls/ScrollablePage.qml 0160 controls/SwipeListItem.qml 0161 ) 0162 0163 ecm_target_qml_sources(Kirigami VERSION 2.1 SOURCES 0164 controls/AbstractApplicationItem.qml 0165 controls/ApplicationItem.qml 0166 ) 0167 0168 ecm_target_qml_sources(Kirigami VERSION 2.3 SOURCES 0169 controls/FormLayout.qml 0170 ) 0171 0172 ecm_target_qml_sources(Kirigami VERSION 2.4 SOURCES 0173 controls/AbstractCard.qml 0174 controls/Card.qml 0175 controls/CardsListView.qml 0176 controls/CardsLayout.qml 0177 controls/InlineMessage.qml 0178 ) 0179 0180 ecm_target_qml_sources(Kirigami VERSION 2.5 SOURCES 0181 controls/ListItemDragHandle.qml 0182 controls/ActionToolBar.qml 0183 ) 0184 0185 ecm_target_qml_sources(Kirigami VERSION 2.6 SOURCES 0186 controls/AboutPage.qml 0187 controls/LinkButton.qml 0188 controls/UrlButton.qml 0189 ) 0190 0191 ecm_target_qml_sources(Kirigami VERSION 2.7 SOURCES 0192 controls/ActionTextField.qml 0193 ) 0194 0195 ecm_target_qml_sources(Kirigami VERSION 2.8 SOURCES 0196 controls/SearchField.qml 0197 controls/PasswordField.qml 0198 ) 0199 0200 ecm_target_qml_sources(Kirigami VERSION 2.10 SOURCES 0201 controls/ListSectionHeader.qml 0202 ) 0203 0204 ecm_target_qml_sources(Kirigami VERSION 2.11 SOURCES 0205 controls/PagePoolAction.qml 0206 ) 0207 0208 ecm_target_qml_sources(Kirigami VERSION 2.12 SOURCES 0209 controls/ShadowedImage.qml 0210 controls/PlaceholderMessage.qml 0211 ) 0212 0213 ecm_target_qml_sources(Kirigami VERSION 2.14 SOURCES 0214 controls/FlexColumn.qml 0215 ) 0216 0217 ecm_target_qml_sources(Kirigami VERSION 2.19 SOURCES 0218 controls/AboutItem.qml 0219 controls/NavigationTabBar.qml 0220 controls/NavigationTabButton.qml 0221 controls/Dialog.qml 0222 controls/MenuDialog.qml 0223 controls/PromptDialog.qml 0224 controls/Chip.qml 0225 controls/LoadingPlaceholder.qml 0226 ) 0227 0228 ecm_target_qml_sources(Kirigami VERSION 2.20 SOURCES 0229 controls/SelectableLabel.qml 0230 controls/InlineViewHeader.qml 0231 ) 0232 0233 ecm_target_qml_sources(Kirigami PRIVATE PATH private SOURCES 0234 controls/private/ActionIconGroup.qml 0235 controls/private/ActionMenuItem.qml 0236 controls/private/ActionsMenu.qml 0237 controls/private/BannerImage.qml 0238 controls/private/ContextDrawerActionItem.qml 0239 controls/private/DefaultCardBackground.qml 0240 controls/private/DefaultChipBackground.qml 0241 controls/private/DefaultPageTitleDelegate.qml 0242 controls/private/EdgeShadow.qml 0243 controls/private/GlobalDrawerActionItem.qml 0244 controls/private/MobileDialogLayer.qml 0245 controls/private/PrivateActionToolButton.qml 0246 controls/private/PullDownIndicator.qml 0247 controls/private/SwipeItemEventFilter.qml 0248 ) 0249 0250 ecm_target_qml_sources(Kirigami PRIVATE PATH private/globaltoolbar SOURCES 0251 controls/private/globaltoolbar/AbstractPageHeader.qml 0252 controls/private/globaltoolbar/BreadcrumbControl.qml 0253 controls/private/globaltoolbar/PageRowGlobalToolBarStyleGroup.qml 0254 controls/private/globaltoolbar/PageRowGlobalToolBarUI.qml 0255 controls/private/globaltoolbar/TitlesPageHeader.qml 0256 controls/private/globaltoolbar/ToolBarPageHeader.qml 0257 controls/private/globaltoolbar/ToolBarPageFooter.qml 0258 ) 0259 0260 ecm_target_qml_sources(Kirigami PRIVATE PATH templates SOURCES 0261 controls/templates/AbstractApplicationHeader.qml 0262 controls/templates/AbstractCard.qml 0263 controls/templates/Chip.qml 0264 controls/templates/InlineMessage.qml 0265 controls/templates/OverlayDrawer.qml 0266 controls/templates/OverlaySheet.qml 0267 controls/templates/SingletonHeaderSizeGroup.qml 0268 controls/templates/qmldir 0269 ) 0270 0271 ecm_target_qml_sources(Kirigami PRIVATE PATH templates/private SOURCES 0272 controls/templates/private/BackButton.qml 0273 controls/templates/private/BorderPropertiesGroup.qml 0274 controls/templates/private/ContextIcon.qml 0275 controls/templates/private/DrawerHandle.qml 0276 controls/templates/private/ForwardButton.qml 0277 controls/templates/private/GenericDrawerIcon.qml 0278 controls/templates/private/IconPropertiesGroup.qml 0279 controls/templates/private/MenuIcon.qml 0280 controls/templates/private/PassiveNotificationsManager.qml 0281 controls/templates/private/qmldir 0282 ) 0283 0284 qt_target_qml_sources(Kirigami RESOURCES 0285 styles/Material/InlineMessage.qml 0286 styles/Material/Theme.qml 0287 ) 0288 0289 if (DESKTOP_ENABLED) 0290 qt_target_qml_sources(Kirigami RESOURCES 0291 styles/org.kde.desktop/AbstractApplicationHeader.qml 0292 styles/org.kde.desktop/Theme.qml 0293 ) 0294 endif() 0295 0296 include_static_dependencies(Kirigami EXPORT KirigamiTargets) 0297 0298 target_link_libraries(Kirigami 0299 PUBLIC 0300 Qt6::Core 0301 Qt6::Gui 0302 Qt6::Qml 0303 Qt6::Quick 0304 PRIVATE 0305 Qt6::Concurrent 0306 ${Kirigami_EXTRA_LIBS} 0307 ) 0308 0309 if (HAVE_OpenMP) 0310 target_link_libraries(Kirigami PRIVATE OpenMP::OpenMP_CXX) 0311 endif() 0312 0313 if (NOT BUILD_SHARED_LIBS) 0314 # Ensure we install the plugin library file as that's required to link 0315 # against for static builds to work properly 0316 target_link_libraries(Kirigamiplugin PRIVATE KirigamiPlatformplugin KirigamiDelegatesplugin) 0317 install(TARGETS Kirigamiplugin EXPORT KirigamiTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) 0318 else() 0319 target_link_libraries(Kirigami PUBLIC KirigamiPlatform PRIVATE KirigamiDelegates) 0320 endif() 0321 0322 install(TARGETS Kirigami EXPORT KirigamiTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) 0323 install(EXPORT KirigamiTargets 0324 DESTINATION ${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6Kirigami 0325 FILE KF6KirigamiTargets.cmake 0326 NAMESPACE KF6 0327 ) 0328 0329 ecm_finalize_qml_module(Kirigami DESTINATION ${KDE_INSTALL_QMLDIR}) 0330 0331 ecm_add_qml_module(KirigamiPrivatePlugin URI org.kde.kirigami.private VERSION 2.6 GENERATE_PLUGIN_SOURCE) 0332 0333 target_sources(KirigamiPrivatePlugin PRIVATE copyhelper.cpp) 0334 0335 target_link_libraries(KirigamiPrivatePlugin PRIVATE Qt6::Gui) 0336 0337 ecm_finalize_qml_module(KirigamiPrivatePlugin DESTINATION ${KDE_INSTALL_QMLDIR}) 0338 0339 0340 if (ANDROID) 0341 install(FILES Kirigami-android-dependencies.xml 0342 DESTINATION ${KDE_INSTALL_LIBDIR} 0343 RENAME Kirigami_${CMAKE_ANDROID_ARCH_ABI}-android-dependencies.xml 0344 ) 0345 endif()