Warning, /frameworks/kirigami/src/platform/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 add_library(KirigamiPlatform) 0002 add_library(KF6::KirigamiPlatform ALIAS KirigamiPlatform) 0003 0004 ecm_add_qml_module(KirigamiPlatform URI "org.kde.kirigami.platform" VERSION 2.0 GENERATE_PLUGIN_SOURCE DEPENDENCIES QtQuick) 0005 0006 set_target_properties(KirigamiPlatform PROPERTIES 0007 VERSION ${PROJECT_VERSION} 0008 SOVERSION 6 0009 EXPORT_NAME "KirigamiPlatform" 0010 ) 0011 0012 target_sources(KirigamiPlatform PRIVATE 0013 platformtheme.cpp 0014 platformtheme.h 0015 basictheme.cpp 0016 basictheme_p.h 0017 inputmethod.cpp 0018 inputmethod.h 0019 platformpluginfactory.cpp 0020 platformpluginfactory.h 0021 tabletmodewatcher.cpp 0022 tabletmodewatcher.h 0023 settings.cpp 0024 settings.h 0025 styleselector.cpp 0026 styleselector.h 0027 units.cpp 0028 units.h 0029 virtualkeyboardwatcher.cpp 0030 virtualkeyboardwatcher.h 0031 ) 0032 0033 set(libkirigami_extra_sources "") 0034 0035 #use dbus on linux, bsd etc, but not android and apple stuff 0036 if (UNIX AND NOT ANDROID AND NOT(APPLE) AND NOT(DISABLE_DBUS)) 0037 set_source_files_properties(org.freedesktop.portal.Settings.xml PROPERTIES INCLUDE dbustypes.h) 0038 qt_add_dbus_interface(libkirigami_extra_sources org.freedesktop.portal.Settings.xml settings_interface) 0039 set(LIBKIRIGAMKI_EXTRA_LIBS Qt6::DBus) 0040 endif() 0041 0042 target_sources(KirigamiPlatform PRIVATE ${libkirigami_extra_sources}) 0043 0044 ecm_qt_declare_logging_category(KirigamiPlatform 0045 HEADER kirigamiplatform_logging.h 0046 IDENTIFIER KirigamiPlatform 0047 CATEGORY_NAME kf.kirigami.platform 0048 DESCRIPTION "Kirigami Platform" 0049 DEFAULT_SEVERITY Warning 0050 EXPORT KIRIGAMI 0051 ) 0052 0053 ecm_setup_version(PROJECT 0054 VARIABLE_PREFIX KIRIGAMIPLATFORM 0055 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kirigamiplatform_version.h" 0056 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF6KirigamiPlatformConfigVersion.cmake" 0057 SOVERSION 6 0058 ) 0059 0060 ecm_generate_export_header(KirigamiPlatform 0061 VERSION ${PROJECT_VERSION} 0062 BASE_NAME KirigamiPlatform 0063 USE_VERSION_HEADER 0064 DEPRECATION_VERSIONS 0065 ) 0066 0067 target_include_directories(KirigamiPlatform 0068 PUBLIC 0069 "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>" 0070 "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}>" 0071 "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/Kirigami/Platform>" 0072 ) 0073 0074 include_static_dependencies(KirigamiPlatform EXPORT KF6KirigamiPlatformTargets) 0075 0076 target_link_libraries(KirigamiPlatform 0077 PUBLIC 0078 Qt6::Core 0079 Qt6::Qml 0080 Qt6::Quick 0081 PRIVATE 0082 Qt6::GuiPrivate 0083 Qt6::QuickControls2 0084 ${LIBKIRIGAMKI_EXTRA_LIBS} 0085 ) 0086 0087 ecm_generate_headers(KirigamiPlatform_CamelCase_HEADERS 0088 HEADER_NAMES 0089 PlatformTheme 0090 PlatformPluginFactory 0091 StyleSelector 0092 TabletModeWatcher 0093 Units 0094 VirtualKeyboardWatcher 0095 REQUIRED_HEADERS KirigamiPlatform_HEADERS 0096 ) 0097 0098 configure_package_config_file( 0099 "${CMAKE_CURRENT_SOURCE_DIR}/KF6KirigamiPlatformConfig.cmake.in" 0100 "${CMAKE_CURRENT_BINARY_DIR}/KF6KirigamiPlatformConfig.cmake" 0101 INSTALL_DESTINATION ${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6KirigamiPlatform 0102 PATH_VARS CMAKE_INSTALL_PREFIX 0103 ) 0104 0105 install(FILES 0106 "${CMAKE_CURRENT_BINARY_DIR}/KF6KirigamiPlatformConfig.cmake" 0107 "${CMAKE_CURRENT_BINARY_DIR}/KF6KirigamiPlatformConfigVersion.cmake" 0108 DESTINATION ${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6KirigamiPlatform 0109 COMPONENT Devel 0110 ) 0111 0112 if (NOT BUILD_SHARED_LIBS) 0113 install(TARGETS KirigamiPlatformplugin EXPORT KF6KirigamiPlatformTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) 0114 endif() 0115 0116 install(TARGETS KirigamiPlatform EXPORT KF6KirigamiPlatformTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) 0117 0118 install(EXPORT KF6KirigamiPlatformTargets 0119 DESTINATION ${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6KirigamiPlatform 0120 FILE KF6KirigamiPlatformTargets.cmake 0121 NAMESPACE KF6:: 0122 ) 0123 0124 install(FILES 0125 ${KirigamiPlatform_HEADERS} 0126 ${CMAKE_CURRENT_BINARY_DIR}/kirigamiplatform_export.h 0127 ${CMAKE_CURRENT_BINARY_DIR}/kirigamiplatform_version.h 0128 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/Kirigami/Platform # prefix matching C++ namespace 0129 COMPONENT Devel 0130 ) 0131 install(FILES 0132 ${KirigamiPlatform_CamelCase_HEADERS} 0133 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/Kirigami/Platform # prefix matching C++ namespace 0134 COMPONENT Devel 0135 ) 0136 0137 ecm_qt_install_logging_categories( 0138 EXPORT KIRIGAMI 0139 FILE kirigami.categories 0140 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0141 ) 0142 0143 ecm_finalize_qml_module(KirigamiPlatform) 0144 0145 if(BUILD_QCH) 0146 ecm_add_qch( 0147 KF6Kirigami_QCH 0148 NAME KirigamiPlatform 0149 BASE_NAME KF6KirigamiPlatform 0150 VERSION ${KF_VERSION} 0151 ORG_DOMAIN org.kde 0152 SOURCES # using only public headers, to cover only public API 0153 platformpluginfactory.h 0154 platformtheme.h 0155 tabletmodewatcher.h 0156 units.h 0157 virtualkeyboardwatcher.h 0158 MD_MAINPAGE "${CMAKE_CURRENT_SOURCE_DIR}/README.md" 0159 LINK_QCHS 0160 Qt6Core_QCH 0161 BLANK_MACROS 0162 KIRIGAMIPLATFORM_EXPORT 0163 KIRIGAMIPLATFORM_DEPRECATED 0164 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0165 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0166 COMPONENT Devel 0167 ) 0168 endif() 0169