Warning, /libraries/kproperty/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # Options
0002 # ...
0003
0004 set(kpropertycore_LIB_SRCS
0005 KProperty.cpp
0006 KPropertyComposedUrl.cpp
0007 KPropertyListData.cpp
0008 KPropertySet.cpp
0009 KPropertySetBuffer.cpp
0010 KPropertyFactory.cpp
0011 KPropertyCoreUtils.cpp
0012 kproperty_debug.cpp
0013 )
0014
0015 set(kpropertycore_INCLUDE_DIRS
0016 ${CMAKE_CURRENT_SOURCE_DIR}
0017 )
0018
0019 ecm_create_qm_loader(kpropertycore_LIB_SRCS kpropertycore_qt)
0020
0021 add_library(KPropertyCore SHARED ${kpropertycore_LIB_SRCS})
0022 set_coinstallable_lib_version(KPropertyCore)
0023 target_link_libraries(KPropertyCore
0024 PUBLIC
0025 Qt5::Core
0026 )
0027 generate_export_header(KPropertyCore)
0028
0029 target_include_directories(KPropertyCore
0030 PUBLIC "$<BUILD_INTERFACE:${kpropertycore_INCLUDE_DIRS}>"
0031 INTERFACE "$<INSTALL_INTERFACE:${KPROPERTYCORE_INCLUDE_INSTALL_DIR}>"
0032 )
0033
0034 if(KPROPERTY_WIDGETS)
0035 add_library(KPropertyUtilsPrivate STATIC
0036 KPropertyUtils_p.cpp
0037 )
0038 target_link_libraries(KPropertyUtilsPrivate
0039 PUBLIC
0040 Qt5::Widgets
0041 )
0042
0043 add_subdirectory(editors)
0044
0045 set(kpropertywidgets_LIB_SRCS
0046 editors/utils.cpp
0047 editors/booledit.cpp
0048 editors/coloredit.cpp
0049 editors/combobox.cpp
0050 editors/cursoredit.cpp
0051 editors/dateedit.cpp
0052 editors/datetimeedit.cpp
0053 # editors/dummywidget.cpp
0054 editors/fontedit.cpp
0055 editors/pixmapedit.cpp
0056 editors/pointedit.cpp
0057 editors/pointfedit.cpp
0058 editors/rectedit.cpp
0059 editors/KPropertyRectFEditor.cpp
0060 editors/sizeedit.cpp
0061 editors/sizefedit.cpp
0062 editors/sizepolicyedit.cpp
0063 editors/spinbox.cpp
0064 editors/KPropertyComposedUrlEditor.cpp
0065 editors/KPropertyGenericSelectionEditor.cpp
0066 editors/KPropertyMultiLineStringEditor.cpp
0067 editors/KPropertyStringEditor.cpp
0068 editors/KPropertyUrlEditor.cpp
0069 editors/KPropertyUrlEditor_p.cpp
0070 editors/linestyleedit.cpp
0071 # editors/stringlistedit.cpp
0072 # editors/symbolcombo.cpp
0073 editors/timeedit.cpp
0074
0075 kproperty_debug.cpp # needed here too
0076 KPropertyWidgetsFactory.cpp
0077 KPropertyWidgetsPluginManager.cpp
0078 KDefaultPropertyFactory.cpp
0079 KPropertyEditorItemEvent.cpp
0080 KPropertyEditorView.cpp
0081 KPropertyEditorDataModel_p.cpp
0082 KPropertyUtils.cpp
0083 KPropertyLineStyleSelector_p.cpp
0084 KPropertyLineStyleModel_p.cpp
0085 KPropertyLineStyleItemDelegate_p.cpp
0086
0087 # non-source:
0088 Mainpage.dox
0089 Messages.sh
0090 )
0091
0092 ecm_create_qm_loader(kpropertywidgets_LIB_SRCS kpropertywidgets_qt)
0093
0094 set(kpropertywidgets_INCLUDE_DIRS
0095 ${CMAKE_CURRENT_BINARY_DIR}/editors
0096 )
0097 if(NOT KPROPERTY_KF)
0098 list(APPEND kpropertywidgets_LIB_SRCS
0099 editors/3rdparty/KColorCombo.cpp
0100 editors/3rdparty/KColorCollection.cpp
0101 )
0102 list(APPEND kpropertywidgets_INCLUDE_DIRS
0103 ${CMAKE_CURRENT_SOURCE_DIR}/editors/3rdparty
0104 )
0105 endif()
0106
0107 add_library(KPropertyWidgets SHARED ${kpropertywidgets_LIB_SRCS})
0108 set_coinstallable_lib_version(KPropertyWidgets)
0109 target_link_libraries(KPropertyWidgets
0110 PUBLIC
0111 KPropertyCore
0112 Qt5::Widgets
0113 PRIVATE
0114 KPropertyUtilsPrivate
0115 )
0116 if(KPROPERTY_KF)
0117 target_link_libraries(KPropertyUtilsPrivate
0118 PUBLIC
0119 KF5::ConfigGui #KConfigGroup
0120 KF5::GuiAddons #KColorCollection
0121 KF5::WidgetsAddons #KMessageBox
0122 )
0123 endif()
0124 generate_export_header(KPropertyWidgets)
0125 target_include_directories(KPropertyWidgets
0126 PUBLIC "$<BUILD_INTERFACE:${kpropertywidgets_INCLUDE_DIRS}>"
0127 INTERFACE "$<INSTALL_INTERFACE:${KPROPERTYWIDGETS_INCLUDE_INSTALL_DIR}>"
0128 PRIVATE editors
0129 )
0130 endif()
0131
0132 # Create a Config.cmake and a ConfigVersion.cmake file and install them
0133 set(CMAKECONFIG_CORE_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/${KPROPERTYCORE_BASE_NAME}")
0134
0135 # A place for KProperty plugins
0136 set(KPROPERTY_PLUGIN_INSTALL_DIR ${KDE_INSTALL_PLUGINDIR}/${PROJECT_NAME_LOWER}${PROJECT_STABLE_VERSION_MAJOR})
0137
0138 ecm_setup_version(${PROJECT_VERSION}
0139 VARIABLE_PREFIX KPROPERTYCORE
0140 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kproperty_version.h"
0141 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPropertyCoreConfigVersion.cmake"
0142 )
0143
0144 configure_package_config_file(
0145 "${CMAKE_CURRENT_SOURCE_DIR}/KPropertyCoreConfig.cmake.in"
0146 "${CMAKE_CURRENT_BINARY_DIR}/KPropertyCoreConfig.cmake"
0147 INSTALL_DESTINATION "${CMAKECONFIG_CORE_INSTALL_DIR}"
0148 )
0149
0150 install(FILES
0151 "${CMAKE_CURRENT_BINARY_DIR}/KPropertyCoreConfig.cmake"
0152 "${CMAKE_CURRENT_BINARY_DIR}/KPropertyCoreConfigVersion.cmake"
0153 DESTINATION "${CMAKECONFIG_CORE_INSTALL_DIR}"
0154 COMPONENT Devel)
0155
0156 install(TARGETS KPropertyCore
0157 EXPORT KPropertyCoreTargets
0158 ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0159
0160 install(EXPORT KPropertyCoreTargets
0161 DESTINATION "${CMAKECONFIG_CORE_INSTALL_DIR}"
0162 FILE KPropertyCoreTargets.cmake)
0163
0164 if(KPROPERTY_WIDGETS)
0165 set(CMAKECONFIG_WIDGETS_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/${KPROPERTYWIDGETS_BASE_NAME}")
0166
0167 ecm_setup_version(${PROJECT_VERSION}
0168 VARIABLE_PREFIX KPROPERTYWIDGETS
0169 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kproperty_version.h"
0170 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPropertyWidgetsConfigVersion.cmake"
0171 )
0172 configure_package_config_file(
0173 "${CMAKE_CURRENT_SOURCE_DIR}/KPropertyWidgetsConfig.cmake.in"
0174 "${CMAKE_CURRENT_BINARY_DIR}/KPropertyWidgetsConfig.cmake"
0175 INSTALL_DESTINATION "${CMAKECONFIG_WIDGETS_INSTALL_DIR}"
0176 )
0177
0178 install(FILES
0179 "${CMAKE_CURRENT_BINARY_DIR}/KPropertyWidgetsConfig.cmake"
0180 "${CMAKE_CURRENT_BINARY_DIR}/KPropertyWidgetsConfigVersion.cmake"
0181 DESTINATION "${CMAKECONFIG_WIDGETS_INSTALL_DIR}"
0182 COMPONENT Devel)
0183
0184 install(TARGETS KPropertyWidgets
0185 EXPORT KPropertyWidgetsTargets
0186 ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0187
0188 install(EXPORT KPropertyWidgetsTargets
0189 DESTINATION "${CMAKECONFIG_WIDGETS_INSTALL_DIR}"
0190 FILE KPropertyWidgetsTargets.cmake)
0191 endif()
0192
0193 install(FILES ${PRI_FILENAME}
0194 DESTINATION ${ECM_MKSPECS_INSTALL_DIR})
0195
0196 if(KPROPERTY_GENERATE_PRI)
0197 ecm_generate_pri_file(
0198 BASE_NAME ${KPROPERTYCORE_BASE_NAME}
0199 LIB_NAME ${KPROPERTYCORE_BASE_NAME}
0200 DEPS "core"
0201 FILENAME_VAR PRI_FILENAME
0202 INCLUDE_INSTALL_DIR ${KPROPERTYCORE_INCLUDE_INSTALL_DIR}
0203 )
0204 if(KPROPERTY_WIDGETS)
0205 ecm_generate_pri_file(
0206 BASE_NAME ${KPROPERTYWIDGETS_BASE_NAME}
0207 LIB_NAME ${KPROPERTYWIDGETS_BASE_NAME}
0208 DEPS "widgets KPropertyCore"
0209 FILENAME_VAR PRI_FILENAME
0210 INCLUDE_INSTALL_DIR ${KPROPERTYWIDGETS_INCLUDE_INSTALL_DIR}
0211 )
0212 endif()
0213 endif()
0214
0215 #ecm_install_icons(${KDE_INSTALL_DATADIR}/kproperty/icons)
0216
0217 ecm_generate_headers(kpropertycore_FORWARDING_HEADERS
0218 REQUIRED_HEADERS kpropertycore_HEADERS
0219 ORIGINAL CAMELCASE
0220 HEADER_NAMES
0221 KProperty
0222 KPropertyComposedUrl
0223 KPropertyListData
0224 KPropertySet
0225 KPropertySetBuffer
0226 KPropertyFactory
0227 )
0228
0229 list(APPEND kpropertycore_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/kproperty_version.h)
0230
0231 install(
0232 FILES
0233 ${kpropertycore_HEADERS}
0234 ${kpropertycore_FORWARDING_HEADERS}
0235 ${PROJECT_BINARY_DIR}/src/kpropertycore_export.h
0236 ${PROJECT_BINARY_DIR}/src/config-kproperty.h
0237 DESTINATION ${KPROPERTYCORE_INCLUDE_INSTALL_DIR}
0238 COMPONENT Devel
0239 )
0240
0241 if(KPROPERTY_WIDGETS)
0242 add_subdirectory(pics)
0243
0244 ecm_generate_headers(kpropertywidgets_FORWARDING_HEADERS
0245 REQUIRED_HEADERS kpropertywidgets_HEADERS
0246 ORIGINAL CAMELCASE
0247 HEADER_NAMES
0248 KPropertyWidgetsFactory
0249 KPropertyWidgetsPluginManager
0250 KPropertyUtils
0251 KPropertyEditorItemEvent
0252 KPropertyEditorView
0253 )
0254
0255 install(
0256 FILES
0257 ${kpropertywidgets_HEADERS}
0258 ${kpropertywidgets_FORWARDING_HEADERS}
0259 ${kproperty_editors_HEADERS}
0260 ${kproperty_editors_FORWARDING_HEADERS}
0261 ${PROJECT_BINARY_DIR}/src/kpropertywidgets_export.h
0262 DESTINATION ${KPROPERTYWIDGETS_INCLUDE_INSTALL_DIR}
0263 COMPONENT Devel
0264 )
0265 endif()
0266
0267 if(BUILD_QCH)
0268 ecm_add_qch(
0269 KPropertyCore_QCH
0270 NAME KPropertyCore
0271 BASE_NAME ${KPROPERTYCORE_BASE_NAME}
0272 VERSION ${PROJECT_VERSION}
0273 ORG_DOMAIN org.kde.${KPROPERTYCORE_BASE_NAME}
0274 SOURCES
0275 Mainpage.dox
0276 ${kpropertycore_HEADERS}
0277 LINK_QCHS
0278 Qt5Core_QCH
0279 INCLUDE_DIRS
0280 ${CMAKE_CURRENT_BINARY_DIR}
0281 ${kpropertycore_INCLUDE_DIRS}
0282 BLANK_MACROS
0283 KPROPERTYCORE_EXPORT
0284 KPROPERTYCORE_DEPRECATED
0285 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0286 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0287 COMPONENT Devel
0288 )
0289 set(kpropertycore_qch_targets KPropertyCore_QCH)
0290 endif()
0291
0292 ecm_install_qch_export(
0293 TARGETS ${kpropertycore_qch_targets}
0294 FILE KPropertyCoreQCHTargets.cmake
0295 DESTINATION "${CMAKECONFIG_CORE_INSTALL_DIR}"
0296 COMPONENT Devel
0297 )
0298
0299 if(KPROPERTY_WIDGETS)
0300 if(BUILD_QCH)
0301 if(KPROPERTY_KF)
0302 set(_KF5WidgetsAddons_QCH KF5WidgetsAddons_QCH)
0303 endif()
0304 ecm_add_qch(
0305 KPropertyWidgets_QCH
0306 NAME KPropertyWidgets
0307 BASE_NAME ${KPROPERTYWIDGETS_BASE_NAME}
0308 VERSION ${PROJECT_VERSION}
0309 ORG_DOMAIN org.kde.${KPROPERTYWIDGETS_BASE_NAME}
0310 SOURCES
0311 ${kpropertywidgets_HEADERS}
0312 ${kproperty_editors_HEADERS}
0313 LINK_QCHS
0314 Qt5Core_QCH
0315 Qt5Gui_QCH
0316 Qt5Widgets_QCH
0317 KPropertyCore_QCH
0318 ${_KF5WidgetsAddons_QCH}
0319 INCLUDE_DIRS
0320 ${CMAKE_CURRENT_BINARY_DIR}
0321 ${kpropertywidgets_INCLUDE_DIRS}
0322 BLANK_MACROS
0323 KPROPERTYWIDGETS_EXPORT
0324 KPROPERTYWIDGETS_DEPRECATED
0325 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0326 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0327 COMPONENT Devel
0328 )
0329 set(kpropertywidgets_qch_targets KPropertyWidgets_QCH)
0330 endif()
0331
0332 ecm_install_qch_export(
0333 TARGETS ${kpropertywidgets_qch_targets}
0334 FILE KPropertyWidgetsQCHTargets.cmake
0335 DESTINATION "${CMAKECONFIG_WIDGETS_INSTALL_DIR}"
0336 COMPONENT Devel
0337 )
0338 endif()
0339
0340 enable_testing()
0341
0342 configure_file(config-kproperty.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kproperty.h)