Warning, /frameworks/threadweaver/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 add_library(KF5ThreadWeaver) 0002 add_library(KF5::ThreadWeaver ALIAS KF5ThreadWeaver) 0003 0004 target_sources(KF5ThreadWeaver PRIVATE 0005 collection.cpp 0006 collection.h 0007 collection_p.cpp 0008 collection_p.h 0009 debuggingaids.cpp 0010 debuggingaids.h 0011 dependency.cpp 0012 dependency.h 0013 dependencypolicy.cpp 0014 dependencypolicy.h 0015 destructedstate.cpp 0016 destructedstate.h 0017 exception.cpp 0018 exception.h 0019 executewrapper.cpp 0020 executewrapper_p.h 0021 executor.cpp 0022 executor_p.h 0023 iddecorator.cpp 0024 iddecorator.h 0025 inconstructionstate.cpp 0026 inconstructionstate.h 0027 job.cpp 0028 job.h 0029 jobinterface.h 0030 job_p.cpp 0031 job_p.h 0032 jobpointer.h 0033 lambda.h 0034 managedjobpointer.h 0035 qobjectdecorator.cpp 0036 qobjectdecorator.h 0037 queueapi.cpp 0038 queueapi.h 0039 queue.cpp 0040 queue.h 0041 queueing.h 0042 queueinterface.h 0043 queuepolicy.h 0044 queuesignals.cpp 0045 queuesignals.h 0046 queuesignals_p.cpp 0047 queuesignals_p.h 0048 queuestream.cpp 0049 queuestream.h 0050 resourcerestrictionpolicy.cpp 0051 resourcerestrictionpolicy.h 0052 sequence.cpp 0053 sequence.h 0054 sequence_p.cpp 0055 sequence_p.h 0056 shuttingdownstate.cpp 0057 shuttingdownstate.h 0058 state.cpp 0059 state.h 0060 suspendedstate.cpp 0061 suspendedstate.h 0062 suspendingstate.cpp 0063 suspendingstate.h 0064 thread.cpp 0065 thread.h 0066 threadweaver.cpp 0067 threadweaver.h 0068 weaver.cpp 0069 weaver.h 0070 weaverimplstate.cpp 0071 weaverimplstate.h 0072 weaverinterface.h 0073 weaver_p.cpp 0074 weaver_p.h 0075 workinghardstate.cpp 0076 workinghardstate.h 0077 0078 ) 0079 0080 ecm_generate_export_header(KF5ThreadWeaver 0081 BASE_NAME ThreadWeaver 0082 GROUP_BASE_NAME KF 0083 VERSION ${KF_VERSION} 0084 DEPRECATED_BASE_VERSION 0 0085 DEPRECATION_VERSIONS 5.0 5.80 0086 EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT} 0087 ) 0088 target_link_libraries(KF5ThreadWeaver PUBLIC Qt${QT_MAJOR_VERSION}::Core) 0089 set(threadweaver_BUILD_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_BINARY_DIR}) 0090 target_include_directories(KF5ThreadWeaver PUBLIC "$<BUILD_INTERFACE:${threadweaver_BUILD_INCLUDE_DIRS}>") 0091 target_include_directories(KF5ThreadWeaver INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/ThreadWeaver>") 0092 #FIXME: make this PUBLIC, so that it applies to anything that links against 0093 kde_target_enable_exceptions(KF5ThreadWeaver PRIVATE) 0094 0095 set_target_properties(KF5ThreadWeaver PROPERTIES 0096 VERSION ${THREADWEAVER_VERSION} 0097 SOVERSION ${THREADWEAVER_SOVERSION} 0098 EXPORT_NAME ThreadWeaver 0099 ) 0100 install(TARGETS KF5ThreadWeaver EXPORT KF5ThreadWeaverTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) 0101 0102 ecm_generate_headers(ThreadWeaver_CamelCase_HEADERS 0103 HEADER_NAMES 0104 ThreadWeaver 0105 Weaver 0106 WeaverInterface 0107 QueueAPI 0108 QueueStream 0109 Queueing 0110 Exception 0111 QueueInterface 0112 Queue 0113 DebuggingAids 0114 Thread 0115 JobInterface 0116 Job 0117 IdDecorator 0118 QObjectDecorator 0119 Lambda 0120 State 0121 WeaverImplState 0122 InConstructionState 0123 WorkingHardState 0124 SuspendingState 0125 SuspendedState 0126 ShuttingDownState 0127 DestructedState 0128 Collection 0129 Sequence 0130 Dependency 0131 DependencyPolicy 0132 ResourceRestrictionPolicy 0133 QueueSignals 0134 QueuePolicy 0135 JobPointer 0136 ManagedJobPointer 0137 0138 PREFIX ThreadWeaver 0139 REQUIRED_HEADERS ThreadWeaver_HEADERS 0140 ) 0141 install(FILES ${ThreadWeaver_CamelCase_HEADERS} DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/ThreadWeaver/ThreadWeaver COMPONENT Devel) 0142 0143 install(FILES 0144 ${CMAKE_CURRENT_BINARY_DIR}/threadweaver_export.h 0145 ${ThreadWeaver_HEADERS} 0146 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/ThreadWeaver/threadweaver COMPONENT Devel 0147 ) 0148 0149 if(BUILD_QCH) 0150 ecm_add_qch( 0151 KF5ThreadWeaver_QCH 0152 NAME ThreadWeaver 0153 BASE_NAME KF5ThreadWeaver 0154 VERSION ${KF_VERSION} 0155 ORG_DOMAIN org.kde 0156 SOURCES # using only public headers, to cover only public API 0157 ${ThreadWeaver_HEADERS} 0158 "${CMAKE_SOURCE_DIR}/docs/use-cases.md" 0159 "${CMAKE_SOURCE_DIR}/docs/whymultithreading.md" 0160 MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md" 0161 LINK_QCHS 0162 Qt5Core_QCH 0163 INCLUDE_DIRS 0164 ${threadweaver_BUILD_INCLUDE_DIRS} 0165 BLANK_MACROS 0166 THREADWEAVER_EXPORT 0167 THREADWEAVER_DEPRECATED 0168 THREADWEAVER_DEPRECATED_EXPORT 0169 "THREADWEAVER_DEPRECATED_VERSION(x, y, t)" 0170 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0171 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0172 COMPONENT Devel 0173 ) 0174 endif() 0175 0176 include(ECMGeneratePriFile) 0177 ecm_generate_pri_file(BASE_NAME ThreadWeaver LIB_NAME KF5ThreadWeaver DEPS "core" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF}/ThreadWeaver) 0178 install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})