-
Notifications
You must be signed in to change notification settings - Fork 432
/
CMakeLists.txt
170 lines (144 loc) · 3.54 KB
/
CMakeLists.txt
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
#
# PCL plugin CMake configuration
#
# The PCL integration still has a few warts that need to be resolved:
#
# 1. PCL detection still occurs in the root CMakeLists.txt.
#
# This is because it's presence must still be known to several
# downstream files (keep reading).
#
# 2. pdal_defines.h.in is configured to broadcast PDAL_HAVE_PCL.
#
# As with #1, this used downstream.
#
# 3. src/pdal_config.cpp sets the PCL version in getVersionString(), which
# in turn requires pcl/pcl_config.h.
#
# These are done conditionally if PDAL_HAVE_PCL is set.
#
# 4. src/kernel/Kernel.cpp requires PCL for invoking the PCLVisualizer with
# two point buffers.
#
# This is currently disabled (commented out), and should be somehow
# fully integrated as a plugin behavior.
#
# 5. PCL unit tests still live within main test directory.
#
# We should be able to move plugin tests to plugin directories without
# too much hassle. PCL unit tests will pass with a warning if the PCL
# plugins are not installed in PDAL_DRIVER_PATH (just assumes you didn't
# intend to test with PCL support).
#
include_directories(${PROJECT_SOURCE_DIR}/include)
include_directories(${PROJECT_SOURCE_DIR}/plugin/pcl)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_definitions("-fvisibility-inlines-hidden")
#
# PCLVisualizer Writer
#
set(srcs
drivers/PCLVisualizer.cpp
)
set(incs
drivers/PCLVisualizer.hpp
PCLConversions.hpp
)
set(PCLVIZ_LIB_NAME pdal_plugin_writer_pclvisualizer)
PDAL_ADD_PLUGIN(${PCLVIZ_LIB_NAME} ${srcs} ${incs})
#
# PCD Reader
#
set(srcs
drivers/PcdCommon.cpp
drivers/PcdReader.cpp
)
set(incs
drivers/PcdCommon.hpp
drivers/PcdReader.hpp
drivers/point_types.hpp
PCLConversions.hpp
)
set(PCD_READ_LIB_NAME pdal_plugin_reader_pcd)
PDAL_ADD_PLUGIN(${PCD_READ_LIB_NAME} ${srcs} ${incs})
#
# PCD Writer
#
set(srcs
drivers/PcdCommon.cpp
drivers/PcdWriter.cpp
)
set(incs
drivers/PcdCommon.hpp
drivers/PcdWriter.hpp
drivers/point_types.hpp
PCLConversions.hpp
)
set(PCD_WRITE_LIB_NAME pdal_plugin_writer_pcd)
PDAL_ADD_PLUGIN(${PCD_WRITE_LIB_NAME} ${srcs} ${incs})
#
# PCLBlock Filter
#
set(srcs
pipeline/PCLPipeline.cpp
filters/PCLBlock.cpp
)
set(incs
pipeline/PCLPipeline.h
pipeline/PCLPipeline.hpp
filters/PCLBlock.hpp
PCLConversions.hpp
)
set(PCLBLOCK_LIB_NAME pdal_plugin_filter_pclblock)
PDAL_ADD_PLUGIN(${PCLBLOCK_LIB_NAME} ${srcs} ${incs})
#
# PCL Kernel
#
set(srcs
kernel/PCL.cpp
)
set(incs
kernel/PCL.hpp
#PCLConversions.hpp
)
set(PCL_KERNEL_LIB_NAME pdal_plugin_kernel_pcl)
PDAL_ADD_PLUGIN(${PCL_KERNEL_LIB_NAME} ${srcs} ${incs})
target_link_libraries(${PCL_KERNEL_LIB_NAME} ${PCLBLOCK_LIB_NAME})
#
# Ground Kernel
#
set(srcs
kernel/Ground.cpp
)
set(incs
kernel/Ground.hpp
)
set(GROUND_KERNEL_LIB_NAME pdal_plugin_kernel_ground)
PDAL_ADD_PLUGIN(${GROUND_KERNEL_LIB_NAME} ${srcs} ${incs})
target_link_libraries(${GROUND_KERNEL_LIB_NAME} ${PCLBLOCK_LIB_NAME})
#
# Smooth Kernel
#
set(srcs
kernel/Smooth.cpp
)
set(incs
kernel/Smooth.hpp
)
set(SMOOTH_KERNEL_LIB_NAME pdal_plugin_kernel_smooth)
PDAL_ADD_PLUGIN(${SMOOTH_KERNEL_LIB_NAME} ${srcs} ${incs})
target_link_libraries(${SMOOTH_KERNEL_LIB_NAME} ${PCLBLOCK_LIB_NAME})
#
# View Kernel
#
set(srcs
kernel/View.cpp
)
set(incs
kernel/View.hpp
#PCLConversions.hpp
)
set(VIEW_KERNEL_LIB_NAME pdal_plugin_kernel_view)
PDAL_ADD_PLUGIN(${VIEW_KERNEL_LIB_NAME} ${srcs} ${incs})