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)