blob: f09a8665c06f3abbe8d399efaba444cc05f3cc5f (
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
set(USCXML_IOPROCESSORS "sample ${USCXML_IOPROCESSORS}")
file(GLOB_RECURSE SAMPLE_IOPROCESSOR
sample/*.cpp
sample/*.h
)
if (BUILD_AS_PLUGINS)
source_group("" FILES ${SAMPLE_IOPROCESSOR})
add_library(
ioprocessor_sample SHARED
${SAMPLE_IOPROCESSOR}
"../Plugins.cpp")
target_link_libraries(ioprocessor_sample uscxml)
set_target_properties(ioprocessor_sample PROPERTIES FOLDER "Plugin IOProcessor")
set_target_properties(ioprocessor_sample PROPERTIES COMPILE_FLAGS "-DPLUMA_EXPORTS")
set_target_properties(ioprocessor_sample PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${OUTPUT_DIR}/lib")
else()
list (APPEND USCXML_FILES ${SAMPLE_IOPROCESSOR})
endif()
set(USCXML_IOPROCESSORS "comet ${USCXML_IOPROCESSORS}")
file(GLOB_RECURSE COMET_IOPROCESSOR
comet/*.cpp
comet/*.h
)
if (BUILD_AS_PLUGINS)
source_group("" FILES ${COMET_IOPROCESSOR})
add_library(
ioprocessor_comet SHARED
${COMET_IOPROCESSOR}
"../Plugins.cpp")
target_link_libraries(ioprocessor_comet uscxml)
set_target_properties(ioprocessor_comet PROPERTIES FOLDER "Plugin IOProcessor")
set_target_properties(ioprocessor_comet PROPERTIES COMPILE_FLAGS "-DPLUMA_EXPORTS")
set_target_properties(ioprocessor_comet PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${OUTPUT_DIR}/lib")
else()
list (APPEND USCXML_FILES ${COMET_IOPROCESSOR})
endif()
# LIBEVENT basichttp ioprocessor - this one is already required above
set(USCXML_IOPROCESSORS "basichttp ${USCXML_IOPROCESSORS}")
file(GLOB_RECURSE BASICHTTP_IOPROCESSOR
basichttp/*.cpp
basichttp/*.h
)
if (BUILD_AS_PLUGINS)
source_group("" FILES ${BASICHTTP_IOPROCESSOR})
add_library(
ioprocessor_basichttp SHARED
${BASICHTTP_IOPROCESSOR}
"../Plugins.cpp")
target_link_libraries(ioprocessor_basichttp uscxml)
set_target_properties(ioprocessor_basichttp PROPERTIES FOLDER "Plugin IOProcessor")
set_target_properties(ioprocessor_basichttp PROPERTIES COMPILE_FLAGS "-DPLUMA_EXPORTS")
set_target_properties(ioprocessor_basichttp PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${OUTPUT_DIR}/lib")
else()
list (APPEND USCXML_FILES ${BASICHTTP_IOPROCESSOR})
endif()
# scxml ioprocessor - this one is already required above
set(USCXML_IOPROCESSORS "scxml ${USCXML_IOPROCESSORS}")
file(GLOB_RECURSE SCXML_IOPROCESSOR
scxml/*.cpp
scxml/*.h
)
file(GLOB_RECURSE BASICHTTP_IOPROCESSOR
basichttp/*.cpp
basichttp/*.h
)
if (BUILD_AS_PLUGINS)
source_group("" FILES ${SCXML_IOPROCESSOR})
add_library(
ioprocessor_scxml SHARED
${SCXML_IOPROCESSOR}
${BASICHTTP_IOPROCESSOR}
"../Plugins.cpp")
# scxml ioprocessor is a basichttp ioprocessor
target_link_libraries(ioprocessor_scxml uscxml)
set_target_properties(ioprocessor_scxml PROPERTIES FOLDER "Plugin IOProcessor")
set_target_properties(ioprocessor_scxml PROPERTIES COMPILE_FLAGS "-DPLUMA_EXPORTS")
set_target_properties(ioprocessor_scxml PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${OUTPUT_DIR}/lib")
else()
list (APPEND USCXML_FILES ${SCXML_IOPROCESSOR})
endif()
# mmi ioprocessor
if (PROTOBUF_FOUND AND OFF)
if (NOT PROTOBUF_PROTOC_EXECUTABLE)
message(FATAL_ERROR "protoc binary required for serialization")
endif()
set(USCXML_IOPROCESSORS "mmi ${USCXML_IOPROCESSORS}")
file(GLOB_RECURSE MMI_IOPROCESSOR
modality/*.cpp
modality/*.h
)
# process .proto files
file(GLOB_RECURSE PROTOBUF_INTERFACES ${PROJECT_SOURCE_DIR}/contrib/proto/*.proto)
list (APPEND USCXML_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR})
PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS ${PROTOBUF_INTERFACES})
# set_source_files_properties(${PROTO_SRCS} ${PROTO_HDRS} PROPERTIES GENERATED TRUE)
# this needs to be here for dependencies on the generated proto files
add_library(mmi_proto STATIC ${PROTO_SRCS})
set_target_properties(mmi_proto PROPERTIES FOLDER "Generated")
if (BUILD_AS_PLUGINS)
source_group("" FILES ${MMI_IOPROCESSOR})
add_library(
ioprocessor_mmi SHARED
${MMI_IOPROCESSOR}
"../Plugins.cpp")
target_link_libraries(ioprocessor_mmi uscxml mmi_proto)
set_target_properties(ioprocessor_mmi PROPERTIES FOLDER "Plugin IOProcessor")
set_target_properties(ioprocessor_mmi PROPERTIES COMPILE_FLAGS "-DPLUMA_EXPORTS")
set_target_properties(ioprocessor_mmi PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${OUTPUT_DIR}/lib")
else()
list (APPEND USCXML_FILES ${MMI_IOPROCESSOR})
list (APPEND USCXML_OPT_LIBS mmi_proto)
endif()
endif()
set(USCXML_INCLUDE_DIRS ${USCXML_INCLUDE_DIRS} PARENT_SCOPE)
set(USCXML_OPT_LIBS ${USCXML_OPT_LIBS} PARENT_SCOPE)
set(USCXML_FILES ${USCXML_FILES} PARENT_SCOPE)
set(USCXML_IOPROCESSORS ${USCXML_IOPROCESSORS} PARENT_SCOPE)
|