@@ -3,26 +3,19 @@ cmake_minimum_required(VERSION 3.14)
33project (sam_onnx_ros)
44
55# -------------- CMake Policies ------------------#
6- # add_compile_options(-Wall -Werror=all)
7- # add_compile_options(-Wextra -Werror=extra)
6+ add_compile_options (-Wall -Werror=all )
7+ add_compile_options (-Wextra -Werror=extra)
88
99# -------------- Support C++17 for using filesystem ------------------#
1010set (CMAKE_CXX_STANDARD 17)
1111set (CMAKE_CXX_STANDARD_REQUIRED ON )
12- set (CMAKE_EXPORT_COMPILE_COMMANDS ON )
1312
14- # -------------- OpenCV ------------------#
15- find_package (OpenCV REQUIRED)
16- find_package (console_bridge REQUIRED)
1713
1814# -------------- ONNXRuntime ------------------#
1915set (ONNXRUNTIME_VERSION 1.21.0)
2016set (ONNXRUNTIME_ROOT "${CMAKE_CURRENT_SOURCE_DIR} /../hero_sam.bak/onnxruntime-linux-x64-gpu-1.21.1" )
2117include_directories (${ONNXRUNTIME_ROOT} /include )
2218
23- # -------------- Cuda ------------------#
24- add_definitions (-DUSE_CUDA=1)
25- include_directories (/usr/local/cuda/include )
2619
2720# -------------- Models ------------------#
2821# TODO: Find proper folder Copy sam_<model>.onnx file to the same folder of the executable file
@@ -37,15 +30,28 @@ find_package(catkin REQUIRED
3730 #onnxruntime_ros
3831)
3932
40- find_package (console_bridge REQUIRED)
33+ find_package (OpenCV REQUIRED)
34+
35+ # -------------- Cuda ------------------#
36+ add_definitions (-DUSE_CUDA=1)
37+ include_directories (/usr/local/cuda/include )
38+
39+ set (${PROJECT_NAME} _CUDA_ENABLED ${onnxruntime_ros_CUDA_ENABLED} )
40+ if (onnxruntime_ros_CUDA_ENABLED)
41+ find_package (CUDAToolkit REQUIRED)
42+ endif ()
43+
44+ configure_file (include /${PROJECT_NAME} /config.hpp.in ${CATKIN_DEVEL_PREFIX} /${CATKIN_GLOBAL_INCLUDE_DESTINATION} /${PROJECT_NAME} /config.hpp)
45+ # add_custom_target(generate_config_hpp
46+ # DEPENDS ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_INCLUDE_DESTINATION}/${PROJECT_NAME}/config.hpp
4147
4248# ------------------------------------------------------------------------------------------------
4349# CATKIN EXPORT
4450# ------------------------------------------------------------------------------------------------
4551
4652catkin_package(
4753 INCLUDE_DIRS include
48- LIBRARIES ${PROJECT_NAME} _lib
54+ LIBRARIES ${PROJECT_NAME}
4955 CATKIN_DEPENDS
5056 DEPENDS OpenCV console_bridge
5157)
@@ -54,14 +60,14 @@ catkin_package(
5460# BUILD
5561# ------------------------------------------------------------------------------------------------
5662
57- # Build core library
58- add_library (${PROJECT_NAME} _lib
63+ # Build library
64+ add_library (${PROJECT_NAME}
5965 src/sam_inference.cpp
6066 src/segmentation.cpp
6167 src/utils.cpp
6268)
6369
64- target_include_directories (${PROJECT_NAME} _lib
70+ target_include_directories (${PROJECT_NAME}
6571 PUBLIC
6672 include
6773 SYSTEM
@@ -72,19 +78,19 @@ target_include_directories(${PROJECT_NAME}_lib
7278)
7379
7480
75- target_link_libraries (${PROJECT_NAME} _lib
81+ target_link_libraries (${PROJECT_NAME}
7682 ${OpenCV_LIBS}
7783 ${catkin_LIBRARIES}
7884 ${ONNXRUNTIME_ROOT} /lib/libonnxruntime.so
7985)
8086
8187# Main executable links the core lib
82- add_executable (${PROJECT_NAME}
88+ add_executable (test_ ${PROJECT_NAME}
8389 src/main.cpp
8490)
8591
86- target_link_libraries (${PROJECT_NAME}
87- ${PROJECT_NAME} _lib
92+ target_link_libraries (test_ ${PROJECT_NAME}
93+ ${PROJECT_NAME}
8894 ${catkin_LIBRARIES}
8995 ${ONNXRUNTIME_ROOT} /lib/libonnxruntime.so
9096)
@@ -100,7 +106,7 @@ install(
100106
101107install (
102108 TARGETS
103- ${PROJECT_NAME} _lib
109+ ${PROJECT_NAME}
104110 ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
105111 LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
106112 RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}
@@ -116,8 +122,8 @@ install(
116122# Testing
117123# ------------------------------------------------------------------------------------------------
118124if (CATKIN_ENABLE_TESTING)
119- find_package (catkin_lint_cmake REQUIRED)
120- catkin_add_catkin_lint_test("-W2 --ignore HEADER_OUTSIDE_PACKAGE_INCLUDE_PATH" )
125+ # find_package(catkin_lint_cmake REQUIRED)
126+ # catkin_add_catkin_lint_test("-W2 --ignore HEADER_OUTSIDE_PACKAGE_INCLUDE_PATH")
121127
122128 # Utils unit tests (no models needed)
123129 catkin_add_gtest(utils_tests test /test_utils.cpp)
0 commit comments