You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

115 lines
3.7 KiB

set(kitemmodels_SRCS
kbreadcrumbselectionmodel.cpp
kcheckableproxymodel.cpp
kconcatenaterowsproxymodel.cpp
kdescendantsproxymodel.cpp
kextracolumnsproxymodel.cpp
klinkitemselectionmodel.cpp
kmodelindexproxymapper.cpp
krearrangecolumnsproxymodel.cpp
krecursivefilterproxymodel.cpp
kselectionproxymodel.cpp
)
ecm_qt_declare_logging_category(kitemmodels_SRCS HEADER kitemmodels_debug.h IDENTIFIER KITEMMODELS_LOG CATEGORY_NAME kf5.kitemmodels)
add_library(KF5ItemModels ${kitemmodels_SRCS})
add_library(KF5::ItemModels ALIAS KF5ItemModels)
ecm_generate_export_header(KF5ItemModels
BASE_NAME KItemModels
GROUP_BASE_NAME KF
VERSION ${KF5_VERSION}
DEPRECATED_BASE_VERSION 0
DEPRECATION_VERSIONS 4.8
EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
)
# reminder trigger to apply KITEMMODELS_ENABLE_DEPRECATED_SINCE & friends to KConcatenateRowsProxyModel when the time is there
if (REQUIRED_QT_VERSION VERSION_GREATER 5.12.0)
message(WARNING "With Qt 5.13 as min dep, mark KConcatenateRowsProxyModel as deprecated to the compiler & remove this warning")
endif()
target_include_directories(KF5ItemModels INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/KItemModels>")
target_link_libraries(KF5ItemModels PUBLIC Qt5::Core)
set_target_properties(KF5ItemModels PROPERTIES VERSION ${KITEMMODELS_VERSION_STRING}
SOVERSION ${KITEMMODELS_SOVERSION}
EXPORT_NAME ItemModels
)
ecm_generate_headers(KItemModels_HEADERS
HEADER_NAMES
KBreadcrumbSelectionModel
KConcatenateRowsProxyModel
KCheckableProxyModel
KExtraColumnsProxyModel
KLinkItemSelectionModel
KRearrangeColumnsProxyModel
KRecursiveFilterProxyModel
KDescendantsProxyModel
KModelIndexProxyMapper
KSelectionProxyModel
REQUIRED_HEADERS KItemModels_HEADERS
)
find_package(PythonModuleGeneration)
if (PythonModuleGeneration_FOUND)
ecm_generate_python_binding(
TARGET KF5::ItemModels
PYTHONNAMESPACE PyKF5
MODULENAME KItemModels
SIP_DEPENDS
QtCore/QtCoremod.sip
HEADERS
kbreadcrumbselectionmodel.h
kconcatenaterowsproxymodel.h
kcheckableproxymodel.h
kextracolumnsproxymodel.h
klinkitemselectionmodel.h
krearrangecolumnsproxymodel.h
krecursivefilterproxymodel.h
kdescendantsproxymodel.h
kmodelindexproxymapper.h
kselectionproxymodel.h
)
endif()
install(TARGETS KF5ItemModels EXPORT KF5ItemModelsTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS})
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/kitemmodels_export.h
${KItemModels_HEADERS}
DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KItemModels COMPONENT Devel
)
if(BUILD_QCH)
ecm_add_qch(
KF5ItemModels_QCH
NAME KItemModels
BASE_NAME KF5ItemModels
VERSION ${KF5_VERSION}
ORG_DOMAIN org.kde
SOURCES # using only public headers, to cover only public API
${KItemModels_HEADERS}
MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
IMAGE_DIRS "${CMAKE_SOURCE_DIR}/docs/pics"
LINK_QCHS
Qt5Core_QCH
INCLUDE_DIRS
${CMAKE_CURRENT_BINARY_DIR}
BLANK_MACROS
KITEMMODELS_EXPORT
"KITEMMODELS_DEPRECATED_VERSION(x, y, t)"
TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
COMPONENT Devel
)
endif()
include(ECMGeneratePriFile)
ecm_generate_pri_file(BASE_NAME KItemModels LIB_NAME KF5ItemModels DEPS "core" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/KItemModels)
install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})