project(PlasmaQuick) if(HAVE_X11 AND XCB_XCB_FOUND AND XCB_COMPOSITE_FOUND AND XCB_DAMAGE_FOUND) add_definitions(-DHAVE_XCB_COMPOSITE=1) include_directories( ${XCB_XCB_INCLUDE_DIR} ${XCB_DAMAGE_INCLUDE_DIR} ${XCB_COMPOSITE_INCLUDE_DIR} ) else() add_definitions(-DHAVE_XCB_COMPOSITE=0) endif() if(HAVE_X11 AND XCB_XCB_FOUND AND XCB_SHAPE_FOUND) add_definitions(-DHAVE_XCB_SHAPE=1) include_directories(${XCB_SHAPE_INCLUDE_DIR}) else() add_definitions(-DHAVE_XCB_SHAPE=0) endif() set(plasmaquick_LIB_SRC appletquickitem.cpp dialog.cpp dialogshadows.cpp view.cpp configmodel.cpp shellpluginloader.cpp configview.cpp packageurlinterceptor.cpp private/configcategory_p.cpp private/packages.cpp ../declarativeimports/core/framesvgitem.cpp ../declarativeimports/core/units.cpp ) add_library(KF5PlasmaQuick SHARED ${plasmaquick_LIB_SRC}) add_library(KF5::PlasmaQuick ALIAS KF5PlasmaQuick) target_include_directories(KF5PlasmaQuick PUBLIC "$") target_link_libraries(KF5PlasmaQuick PUBLIC Qt5::Quick Qt5::Qml KF5::Plasma PRIVATE KF5::WindowSystem KF5::KIOWidgets KF5::I18n KF5::IconThemes KF5::Service KF5::CoreAddons KF5::XmlGui KF5::Declarative ) if(HAVE_X11) target_link_libraries(KF5PlasmaQuick PRIVATE Qt5::X11Extras ${X11_LIBRARIES} ${XCB_XCB_LIBRARY} ) if(XCB_COMPOSITE_FOUND AND XCB_DAMAGE_FOUND) target_link_libraries(KF5PlasmaQuick PRIVATE ${XCB_DAMAGE_LIBRARY} ${XCB_COMPOSITE_LIBRARY} ) endif() if(XCB_SHAPE_FOUND) target_link_libraries(KF5PlasmaQuick PRIVATE ${XCB_SHAPE_LIBRARY}) endif() if(HAVE_GLX) target_link_libraries(KF5PlasmaQuick PRIVATE ${OPENGL_gl_LIBRARY}) endif() endif() set_target_properties(KF5PlasmaQuick PROPERTIES VERSION ${PLASMA_VERSION_STRING} SOVERSION ${PLASMA_SOVERSION} EXPORT_NAME PlasmaQuick ) install(TARGETS KF5PlasmaQuick EXPORT KF5PlasmaQuickTargets ${INSTALL_TARGETS_DEFAULT_ARGS}) generate_export_header(KF5PlasmaQuick BASE_NAME PlasmaQuick) set(plasmaquick_LIB_INCLUDES ${CMAKE_CURRENT_BINARY_DIR}/plasmaquick_export.h appletquickitem.h view.h configview.h configmodel.h packageurlinterceptor.h ) #install(FILES ${plasmaquick_LIB_INCLUDES} # DESTINATION ${INCLUDE_INSTALL_DIR}/plasmaquick COMPONENT Devel) #install(DIRECTORY # includes/PlasmaQuick # DESTINATION ${INCLUDE_INSTALL_DIR}/KDE COMPONENT Devel) set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/KF5PlasmaQuick") ecm_configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/KF5PlasmaQuickConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/KF5PlasmaQuickConfig.cmake" INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} PATH_VARS INCLUDE_INSTALL_DIR CMAKE_INSTALL_PREFIX ) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/KF5PlasmaQuickConfig.cmake" DESTINATION "${CMAKECONFIG_INSTALL_DIR}" COMPONENT Devel ) install(EXPORT KF5PlasmaQuickTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF5PlasmaQuickTargets.cmake NAMESPACE KF5:: )