@@ -88,16 +88,11 @@ include_directories(
8888 ${catkin_INCLUDE_DIRS}
8989)
9090
91- if (CUDA_FOUND)
92-
93- link_directories (
94- /usr/local/cuda/lib64
95- )
96-
97- cuda_add_library(${PROJECT_NAME} _lib
98- src/YoloObjectDetector.cpp
99- src/image_interface.c
91+ set (PROJECT_LIB_FILES
92+ src/YoloObjectDetector.cpp src/image_interface.c
93+ )
10094
95+ set (DARKNET_CORE_FILES
10196 ${DARKNET_PATH} /src/activation_layer.c ${DARKNET_PATH} /src/im2col.c
10297 ${DARKNET_PATH} /src/activations.c ${DARKNET_PATH} /src/image.c
10398 ${DARKNET_PATH} /src/avgpool_layer.c ${DARKNET_PATH} /src/layer.c
@@ -130,26 +125,32 @@ if (CUDA_FOUND)
130125 ${DARKNET_PATH} /examples/darknet.c ${DARKNET_PATH} /examples/tag.c
131126 ${DARKNET_PATH} /examples/detector.c ${DARKNET_PATH} /examples/yolo.c
132127 ${DARKNET_PATH} /examples/go.c
128+ )
133129
130+ set (DARKNET_CUDA_FILES
134131 ${DARKNET_PATH} /src/activation_kernels.cu ${DARKNET_PATH} /src/crop_layer_kernels.cu
135132 ${DARKNET_PATH} /src/avgpool_layer_kernels.cu ${DARKNET_PATH} /src/deconvolutional_kernels.cu
136133 ${DARKNET_PATH} /src/blas_kernels.cu ${DARKNET_PATH} /src/dropout_layer_kernels.cu
137134 ${DARKNET_PATH} /src/col2im_kernels.cu ${DARKNET_PATH} /src/im2col_kernels.cu
138135 ${DARKNET_PATH} /src/convolutional_kernels.cu ${DARKNET_PATH} /src/maxpool_layer_kernels.cu
136+ )
137+
138+ if (CUDA_FOUND)
139+
140+ link_directories (
141+ ${CUDA_TOOLKIT_ROOT_DIR} /lib
142+ )
143+
144+ cuda_add_library(${PROJECT_NAME} _lib
145+ ${PROJECT_LIB_FILES} ${DARKNET_CORE_FILES}
146+ ${DARKNET_CUDA_FILES}
139147 )
140148
141149 target_link_libraries (${PROJECT_NAME} _lib
142- m
143- pthread
144- stdc++
145150 cuda
146151 cudart
147152 cublas
148153 curand
149- ${Boost_LIBRARIES}
150- ${OpenCV_LIBRARIES}
151- ${catkin_LIBRARIES}
152- ${OpenCV_LIBS}
153154 )
154155
155156 cuda_add_executable(${PROJECT_NAME}
@@ -159,51 +160,7 @@ if (CUDA_FOUND)
159160else ()
160161
161162 add_library (${PROJECT_NAME} _lib
162- src/YoloObjectDetector.cpp
163- src/image_interface.c
164-
165- ${DARKNET_PATH} /src/activation_layer.c ${DARKNET_PATH} /src/im2col.c
166- ${DARKNET_PATH} /src/activations.c ${DARKNET_PATH} /src/image.c
167- ${DARKNET_PATH} /src/avgpool_layer.c ${DARKNET_PATH} /src/layer.c
168- ${DARKNET_PATH} /src/batchnorm_layer.c ${DARKNET_PATH} /src/list.c
169- ${DARKNET_PATH} /src/blas.c ${DARKNET_PATH} /src/local_layer.c
170- ${DARKNET_PATH} /src/box.c ${DARKNET_PATH} /src/lstm_layer.c
171- ${DARKNET_PATH} /src/col2im.c ${DARKNET_PATH} /src/matrix.c
172- ${DARKNET_PATH} /src/connected_layer.c ${DARKNET_PATH} /src/maxpool_layer.c
173- ${DARKNET_PATH} /src/convolutional_layer.c ${DARKNET_PATH} /src/network.c
174- ${DARKNET_PATH} /src/cost_layer.c ${DARKNET_PATH} /src/normalization_layer.c
175- ${DARKNET_PATH} /src/crnn_layer.c ${DARKNET_PATH} /src/option_list.c
176- ${DARKNET_PATH} /src/crop_layer.c ${DARKNET_PATH} /src/parser.c
177- ${DARKNET_PATH} /src/cuda.c ${DARKNET_PATH} /src/region_layer.c
178- ${DARKNET_PATH} /src/data.c ${DARKNET_PATH} /src/reorg_layer.c
179- ${DARKNET_PATH} /src/deconvolutional_layer.c ${DARKNET_PATH} /src/rnn_layer.c
180- ${DARKNET_PATH} /src/demo.c ${DARKNET_PATH} /src/route_layer.c
181- ${DARKNET_PATH} /src/detection_layer.c ${DARKNET_PATH} /src/shortcut_layer.c
182- ${DARKNET_PATH} /src/dropout_layer.c ${DARKNET_PATH} /src/softmax_layer.c
183- ${DARKNET_PATH} /src/gemm.c ${DARKNET_PATH} /src/tree .c
184- ${DARKNET_PATH} /src/gru_layer.c ${DARKNET_PATH} /src/utils.c
185- ${DARKNET_PATH} /src/upsample_layer.c ${DARKNET_PATH} /src/logistic_layer.c
186- ${DARKNET_PATH} /src/l2norm_layer.c ${DARKNET_PATH} /src/yolo_layer.c
187-
188- ${DARKNET_PATH} /examples/art.c ${DARKNET_PATH} /examples/lsd.c
189- ${DARKNET_PATH} /examples/attention.c ${DARKNET_PATH} /examples/nightmare.c
190- ${DARKNET_PATH} /examples/captcha.c ${DARKNET_PATH} /examples/regressor.c
191- ${DARKNET_PATH} /examples/cifar.c ${DARKNET_PATH} /examples/rnn.c
192- ${DARKNET_PATH} /examples/classifier.c ${DARKNET_PATH} /examples/segmenter.c
193- ${DARKNET_PATH} /examples/coco.c ${DARKNET_PATH} /examples/super.c
194- ${DARKNET_PATH} /examples/darknet.c ${DARKNET_PATH} /examples/tag.c
195- ${DARKNET_PATH} /examples/detector.c ${DARKNET_PATH} /examples/yolo.c
196- ${DARKNET_PATH} /examples/go.c
197- )
198-
199- target_link_libraries (${PROJECT_NAME} _lib
200- m
201- pthread
202- stdc++
203- ${Boost_LIBRARIES}
204- ${OpenCV_LIBRARIES}
205- ${catkin_LIBRARIES}
206- ${OpenCV_LIBS}
163+ ${PROJECT_LIB_FILES} ${DARKNET_CORE_FILES}
207164 )
208165
209166 add_executable (${PROJECT_NAME}
@@ -212,6 +169,16 @@ else()
212169
213170endif ()
214171
172+ target_link_libraries (${PROJECT_NAME} _lib
173+ m
174+ pthread
175+ stdc++
176+ ${Boost_LIBRARIES}
177+ ${OpenCV_LIBRARIES}
178+ ${catkin_LIBRARIES}
179+ ${OpenCV_LIBS}
180+ )
181+
215182target_link_libraries (${PROJECT_NAME}
216183 ${PROJECT_NAME} _lib
217184)
0 commit comments