-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
43 lines (31 loc) · 1.31 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
cmake_minimum_required (VERSION 3.5)
project(Canard)
set(INTERFACE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/interface)
set(MODULES_DIR ${CMAKE_CURRENT_SOURCE_DIR}/modules)
set(TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tests)
# execute process to generate libcanard headers using dronecan_dsdlc/dronecan_dsdlc.py
execute_process(COMMAND python3 dronecan_dsdlc/dronecan_dsdlc.py
-O ${CMAKE_CURRENT_BINARY_DIR}/dsdlc_generated
${MODULES_DIR}/DSDL/uavcan
${MODULES_DIR}/DSDL/dronecan
${MODULES_DIR}/DSDL/ardupilot
${MODULES_DIR}/DSDL/com
)
# generate dsdl messages
include_directories(${CMAKE_CURRENT_BINARY_DIR}/dsdlc_generated/include)
# add local directory to include path
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/modules/libcanard/)
# add libcanard source files
file(GLOB LIBCANARD_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/modules/libcanard/*.c)
list(APPEND SRC_FILES ${LIBCANARD_SOURCES})
# glob all generated dsdlc files
file(GLOB DSDL_GENERATED_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/dsdlc_generated/src/*.c*)
# append DSDL_GENERATED_SOURCES_C to SRC_FILES
list(APPEND SRC_FILES ${DSDL_GENERATED_SOURCES})
add_compile_options(-Wall -m32 -g)
add_link_options(-m32)
add_subdirectory(googletest)
# disable GMOCK
set(BUILD_GMOCK OFF BOOL FORCE)
add_subdirectory(tests)