File tree Expand file tree Collapse file tree 5 files changed +32
-12
lines changed
Expand file tree Collapse file tree 5 files changed +32
-12
lines changed Original file line number Diff line number Diff line change @@ -26,11 +26,11 @@ set(test_dir "${CMAKE_SOURCE_DIR}/test")
2626set (include_dir "${CMAKE_SOURCE_DIR} /include" )
2727set (submodules_dir "${CMAKE_SOURCE_DIR} /submodules" )
2828
29+ set (CXX_FLAG_SET "" )
2930if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" )
3031 # Disable PSABI warnings in GCC (on RPi).
3132 list (APPEND CXX_FLAG_SET "-Wno-psabi" )
3233endif ()
33-
3434add_compile_options ("$<$<COMPILE_LANGUAGE:CXX>:${CXX_FLAG_SET} >" )
3535
3636# clang-format
Original file line number Diff line number Diff line change @@ -14,7 +14,7 @@ unique_id = []
1414# UDP has priorioty over CAN if both types are present.
1515# Supported formats:
1616# - 'udp://<ip4>'
17- # - 'socketcan:<can_device>'
17+ # - 'socketcan:<can_device>' (linux only)
1818interfaces = [
1919 ' udp://127.0.0.1' ,
2020]
Original file line number Diff line number Diff line change @@ -36,18 +36,19 @@ target_include_directories(udpard
3636 INTERFACE SYSTEM ${submodules_dir} /libudpard/libudpard
3737)
3838
39- add_library (canard
40- ${submodules_dir} /libcanard/libcanard/canard.c
41- )
42- target_include_directories (canard
43- INTERFACE SYSTEM ${submodules_dir} /libcanard/libcanard
44- )
39+ if (${PLATFORM_OS_TYPE} STREQUAL "linux" )
40+ add_library (canard
41+ ${submodules_dir} /libcanard/libcanard/canard.c
42+ )
43+ target_include_directories (canard
44+ INTERFACE SYSTEM ${submodules_dir} /libcanard/libcanard
45+ )
46+ endif ()
4547
4648add_library (ocvsmd_engine
4749 config.cpp
4850 cyphal/file_provider.cpp
4951 engine.cpp
50- platform/can/socketcan.c
5152 platform/udp/udp.c
5253 svc/file_server/list_roots_service.cpp
5354 svc/file_server/pop_root_service.cpp
@@ -58,10 +59,17 @@ add_library(ocvsmd_engine
5859)
5960target_link_libraries (ocvsmd_engine
6061 PUBLIC udpard
61- PUBLIC canard
6262 PUBLIC ${engine_transpiled}
6363 PUBLIC ocvsmd_common
6464)
65+ if (${PLATFORM_OS_TYPE} STREQUAL "linux" )
66+ target_sources (ocvsmd_engine
67+ platform/can/socketcan.c
68+ )
69+ target_link_libraries (ocvsmd_engine
70+ PUBLIC canard
71+ )
72+ endif ()
6573target_include_directories (ocvsmd_engine
6674 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
6775)
Original file line number Diff line number Diff line change 1010
1111#include < cetl/pf17/cetlpf.hpp>
1212#include < libcyphal/errors.hpp>
13- #include < libcyphal/transport/can/can_transport.hpp>
1413#include < libcyphal/transport/errors.hpp>
1514#include < libcyphal/transport/udp/udp_transport.hpp>
1615
1716#include < spdlog/fmt/fmt.h>
1817
18+ #ifdef __linux__
19+ #include < libcyphal/transport/can/can_transport.hpp>
20+ #endif
21+
1922namespace ocvsmd
2023{
2124namespace daemon
@@ -61,6 +64,8 @@ struct TransportHelpers
6164
6265 }; // Printers
6366
67+ #ifdef __linux__
68+
6469 struct CanTransientErrorReporter
6570 {
6671 using Report = libcyphal::transport::can::ICanTransport::TransientErrorReport;
@@ -111,6 +116,8 @@ struct TransportHelpers
111116
112117 }; // CanTransientErrorReporter
113118
119+ #endif // __linux__
120+
114121 struct UdpTransientErrorReporter
115122 {
116123 using Report = libcyphal::transport::udp::IUdpTransport::TransientErrorReport;
Original file line number Diff line number Diff line change 66#include " engine.hpp"
77
88#include " config.hpp"
9- #include " cyphal/can_transport_bag.hpp"
109#include " cyphal/file_provider.hpp"
1110#include " cyphal/udp_transport_bag.hpp"
1211#include " engine_helpers.hpp"
3433#include < string>
3534#include < utility>
3635
36+ #ifdef __linux__
37+ #include " cyphal/can_transport_bag.hpp"
38+ #endif
39+
3740namespace ocvsmd
3841{
3942namespace daemon
@@ -59,11 +62,13 @@ cetl::optional<std::string> Engine::init()
5962 }
6063 else
6164 {
65+ #ifdef __linux__
6266 if (auto maybe_can_transport_bag = cyphal::CanTransportBag::make (memory_, executor_, config_))
6367 {
6468 any_transport_bag_ = std::move (maybe_can_transport_bag);
6569 }
6670 else
71+ #endif // __linux__
6772 {
6873 std::string msg = " Failed to create Cyphal transport." ;
6974 logger_->error (msg);
You can’t perform that action at this time.
0 commit comments