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