-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
86 lines (64 loc) · 2.8 KB
/
CMakeLists.txt
File metadata and controls
86 lines (64 loc) · 2.8 KB
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
cmake_minimum_required(VERSION 3.0)
project(USVControl VERSION 1.0)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED true)
set(FUZZYLITE_PATH "/home/piero/Documents/Libs/fuzzylite/fuzzylite")
set(ncnn_DIR "/home/piero/Documents/Libs/ncnn/build/install/lib/cmake/ncnn" CACHE PATH "/home/piero/Documents/Libs/ncnn/build/install/lib/cmake/ncnn/ncnnConfig.cmake")
find_package(ncnn REQUIRED)
find_package(OpenCV REQUIRED)
find_package (yaml-cpp)
find_package(CURL REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS} ${ncnn_INCLUDE_DIRS} ${FUZZYLITE_PATH} ${YAML_CPP_INCLUDE_DIR})
add_library(fuzzylite SHARED IMPORTED)
set_target_properties(fuzzylite PROPERTIES IMPORTED_LOCATION "${FUZZYLITE_PATH}/release/bin/libfuzzylite.so")
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/ldlidar_driver/include/core/
${CMAKE_CURRENT_SOURCE_DIR}/ldlidar_driver/include/dataprocess/
${CMAKE_CURRENT_SOURCE_DIR}/ldlidar_driver/include/filter/
${CMAKE_CURRENT_SOURCE_DIR}/ldlidar_driver/include/logger/
${CMAKE_CURRENT_SOURCE_DIR}/ldlidar_driver/include/networkcom/
${CMAKE_CURRENT_SOURCE_DIR}/ldlidar_driver/include/serialcom/
)
file(GLOB LDLIDAR_DRI_CORE ${CMAKE_CURRENT_SOURCE_DIR}/ldlidar_driver/src/core/*.cpp)
file(GLOB LDLIDAR_DRI_DATARPC ${CMAKE_CURRENT_SOURCE_DIR}/ldlidar_driver/src/dataprocess/*.cpp)
file(GLOB LDLIDAR_DRI_FILTER ${CMAKE_CURRENT_SOURCE_DIR}/ldlidar_driver/src/filter/*.cpp)
file(GLOB LDLIDAR_DRI_LOGGER ${CMAKE_CURRENT_SOURCE_DIR}/ldlidar_driver/src/logger/*.cpp)
file(GLOB LDLIDAR_DRI_NETWORK ${CMAKE_CURRENT_SOURCE_DIR}/ldlidar_driver/src/networkcom/*.cpp)
file(GLOB LDLIDAR_DRI_SERIAL ${CMAKE_CURRENT_SOURCE_DIR}/ldlidar_driver/src/serialcom/*.cpp)
add_subdirectory(lib)
file(GLOB_RECURSE SOURCES "src/*.cpp")
file(GLOB_RECURSE HEADERS "include/*.hpp" "include/controllers/*.hpp")
add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS}
include/functionUtils.hpp
include/waypoints.hpp)
target_include_directories(${PROJECT_NAME} PRIVATE include)
add_library(ldlidar_driver_static STATIC
${LDLIDAR_DRI_CORE}
${LDLIDAR_DRI_DATARPC}
${LDLIDAR_DRI_FILTER}
${LDLIDAR_DRI_LOGGER}
${LDLIDAR_DRI_NETWORK}
${LDLIDAR_DRI_SERIAL}
)
set_target_properties (ldlidar_driver_static PROPERTIES OUTPUT_NAME "ldlidar_driver")
target_link_libraries(
${PROJECT_NAME} PUBLIC
${OpenCV_LIBS}
${YAML_CPP_LIBRARIES}
${CURL_LIBRARIES}
fuzzylite
ncnn
ldlidar_driver_static
serial_lib
tiny_xml2)
# Habilitar OpenMP si estás utilizando -fopenmp en el script original
find_package(OpenMP)
if(OpenMP_CXX_FOUND)
target_link_libraries(${PROJECT_NAME} PRIVATE OpenMP::OpenMP_CXX)
endif()
INSTALL(TARGETS ldlidar_driver_static
ARCHIVE DESTINATION lib/ldlidar_driver
)
INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/ldlidar_driver/include
DESTINATION include/ldlidar_driver
)