Warning, /frameworks/knewstuff/src/widgets/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: Alexander Lohnau <alexander.lohnau@gmx.de>
0002 # SPDX-License-Identifier: BSD-2-Clause
0003
0004 add_library(KF5NewStuffWidgets)
0005 add_library(KF5::NewStuffWidgets ALIAS KF5NewStuffWidgets)
0006
0007 # Flag to hint this is compilation of the library itself
0008 # Needed because the overloaded signal Action::dialogFinished(QList<KNSCore::Entry>) was only added in a later version,
0009 # but SC requirement needs to keep usages of plain &Action::dialogFinished working.
0010 # So the flag is used to add all signals to the library itself,
0011 # while consumers will only see one variant depending on KNEWSTUFFWIDGETS_DISABLE_DEPRECATED_BEFORE_AND_AT settings
0012 target_compile_definitions(KF5NewStuffWidgets PRIVATE -DKNEWSTUFFWIDGETS_PRIVATE_BUILDING)
0013
0014 ecm_generate_export_header(KF5NewStuffWidgets
0015 EXPORT_FILE_NAME knewstuffwidgets_export.h
0016 BASE_NAME KNewStuffWidgets
0017 GROUP_BASE_NAME KF
0018 VERSION ${KF_VERSION}
0019 DEPRECATED_BASE_VERSION 0
0020 DEPRECATION_VERSIONS 5.91
0021 EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
0022 )
0023
0024 target_sources(KF5NewStuffWidgets PRIVATE
0025 action.cpp button.cpp
0026 ../ui/widgetquestionlistener.cpp)
0027
0028 target_link_libraries(KF5NewStuffWidgets PUBLIC KF5::NewStuff)
0029 target_link_libraries(KF5NewStuffWidgets
0030 PUBLIC
0031 KF5::NewStuffCore
0032 KF5::NewStuff
0033 PRIVATE
0034 KF5::I18n
0035 )
0036
0037 target_include_directories(KF5NewStuffWidgets
0038 PUBLIC "$<BUILD_INTERFACE:${KNewStuff_BINARY_DIR};${CMAKE_CURRENT_BINARY_DIR}>"
0039 INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KNewStuff3>")
0040
0041 set_target_properties(KF5NewStuffWidgets PROPERTIES
0042 VERSION ${KNEWSTUFF_VERSION}
0043 SOVERSION ${KNEWSTUFF_SOVERSION}
0044 EXPORT_NAME NewStuffWidgets
0045 )
0046
0047 set(KNewStuffWidgets_HEADERS
0048 action.h
0049 button.h
0050 )
0051 ecm_generate_headers(KNewStuffWidgets_CamelCase_HEADERS
0052 HEADER_NAMES
0053 Action
0054 Button
0055
0056 REQUIRED_HEADERS KNewStuffWidgets_HEADERS
0057 OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/KNSWidgets
0058 )
0059
0060 install(
0061 FILES
0062 ${KNewStuffWidgets_CamelCase_HEADERS}
0063 ${KNewStuffWidgets_HEADERS}
0064 ${CMAKE_CURRENT_BINARY_DIR}/knewstuffwidgets_export.h
0065 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KNewStuff3/KNSWidgets
0066 COMPONENT Devel
0067 )
0068
0069 # Kept for backwards compatibility, in KF6 all headers will be installed in KNewStuff3/KNSWidgets only
0070 if(QT_MAJOR_VERSION STREQUAL "5")
0071 install(
0072 FILES
0073 ${KNewStuffWidgets_HEADERS}
0074 ${CMAKE_CURRENT_BINARY_DIR}/knewstuffwidgets_export.h
0075 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KNewStuff3/knswidgets
0076 COMPONENT Devel
0077 )
0078 endif()
0079
0080 install(TARGETS KF5NewStuffWidgets EXPORT KF5NewStuffTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
0081
0082 if (BUILD_DESIGNERPLUGIN)
0083 include(ECMAddQtDesignerPlugin)
0084 ecm_qtdesignerplugin_widget(KNSWidgets::Button
0085 INCLUDE_FILE "KNSWidgets/Button"
0086 TOOLTIP "KHotNewStuff push button that encapsulats most of the details involved in using KHotNewStuff in it."
0087 GROUP "Buttons (KF5)"
0088 )
0089
0090 ecm_add_qtdesignerplugin(knewstuffwidgets
0091 NAME KNewStuffWidgets
0092 WIDGETS
0093 KNSWidgets::Button
0094 LINK_LIBRARIES
0095 KF5::NewStuffWidgets
0096 INSTALL_DESTINATION "${KDE_INSTALL_QTPLUGINDIR}/designer"
0097 COMPONENT Devel
0098 )
0099 endif()
0100
0101 if(BUILD_QCH)
0102 ecm_add_qch(
0103 KF5NewStuffWidgets_QCH
0104 NAME KNewStuffWidgets
0105 BASE_NAME KF5NewStuffWidgets
0106 VERSION ${KF_VERSION}
0107 ORG_DOMAIN org.kde
0108 SOURCES ${KNewStuffWidgets_HEADERS}
0109 LINK_QCHS
0110 KF5NewStuffCore_QCH
0111 KF5NewStuff_QCH
0112 INCLUDE_DIRS
0113 ${CMAKE_CURRENT_BINARY_DIR}
0114 ${KNewStuff_BINARY_DIR}
0115 BLANK_MACROS
0116 KNEWSTUFFWIDGETS_EXPORT
0117 "KNEWSTUFFWIDGETS_DEPRECATED_VERSION(x, y, t)"
0118 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0119 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0120 COMPONENT Devel
0121 )
0122 endif()
0123