blob: c571b12df155f236360d618bbf0a54c55f01442c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
########### next target ###############
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE_ENABLE_EXCEPTIONS}")
set(ThreadWeaver_LIB_SRCS
queuesignals.cpp
queuestream.cpp
queueapi.cpp
exception.cpp
queue.cpp
weaver.cpp
debuggingaids.cpp
thread.cpp
job.cpp
iddecorator.cpp
qobjectdecorator.cpp
executor.cpp
executewrapper.cpp
state.cpp
weaverimplstate.cpp
inconstructionstate.cpp
workinghardstate.cpp
suspendingstate.cpp
suspendedstate.cpp
shuttingdownstate.cpp
destructedstate.cpp
collection.cpp
sequence.cpp
dependencypolicy.cpp
dependency.cpp
resourcerestrictionpolicy.cpp
)
add_library(KF5ThreadWeaver ${ThreadWeaver_LIB_SRCS})
generate_export_header(KF5ThreadWeaver BASE_NAME ThreadWeaver)
add_library(KF5::ThreadWeaver ALIAS KF5ThreadWeaver)
target_link_libraries(KF5ThreadWeaver PUBLIC Qt5::Core)
target_include_directories(KF5ThreadWeaver PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>")
target_include_directories(KF5ThreadWeaver INTERFACE "$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}/ThreadWeaver>")
set_target_properties(KF5ThreadWeaver PROPERTIES
VERSION ${THREADWEAVER_VERSION_STRING}
SOVERSION ${THREADWEAVER_SOVERSION}
EXPORT_NAME ThreadWeaver
)
install(TARGETS KF5ThreadWeaver EXPORT KF5ThreadWeaverTargets ${INSTALL_TARGETS_DEFAULT_ARGS})
ecm_generate_headers(
ThreadWeaver
QueueStream
Queueing
Exception
QueueInterface
Queue
DebuggingAids
Thread
JobInterface
Job
IdDecorator
QObjectDecorator
Lambda
State
Collection
Sequence
Dependency
DependencyPolicy
ResourceRestrictionPolicy
QueueSignals
QueuePolicy
JobPointer
ManagedJobPointer
MODULE_NAME ThreadWeaver
PREFIX ThreadWeaver
REQUIRED_HEADERS ThreadWeaver_HEADERS
)
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ThreadWeaver DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/threadweaver_export.h
${ThreadWeaver_HEADERS}
DESTINATION ${INCLUDE_INSTALL_DIR}/ThreadWeaver/threadweaver COMPONENT Devel
)
|