Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: UAVCAN UAVCAN_Subscriber
libuavcan_drivers/linux/CMakeLists.txt@0:dfe6edabb8ec, 2018-04-14 (annotated)
- Committer:
- RuslanUrya
- Date:
- Sat Apr 14 10:25:32 2018 +0000
- Revision:
- 0:dfe6edabb8ec
Initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
RuslanUrya | 0:dfe6edabb8ec | 1 | # |
RuslanUrya | 0:dfe6edabb8ec | 2 | # Copyright (C) 2014 Pavel Kirienko <pavel.kirienko@gmail.com> |
RuslanUrya | 0:dfe6edabb8ec | 3 | # |
RuslanUrya | 0:dfe6edabb8ec | 4 | |
RuslanUrya | 0:dfe6edabb8ec | 5 | cmake_minimum_required(VERSION 2.8) |
RuslanUrya | 0:dfe6edabb8ec | 6 | |
RuslanUrya | 0:dfe6edabb8ec | 7 | project(libuavcan_linux) |
RuslanUrya | 0:dfe6edabb8ec | 8 | |
RuslanUrya | 0:dfe6edabb8ec | 9 | # |
RuslanUrya | 0:dfe6edabb8ec | 10 | # Library (header only) |
RuslanUrya | 0:dfe6edabb8ec | 11 | # |
RuslanUrya | 0:dfe6edabb8ec | 12 | install(DIRECTORY include/uavcan_linux DESTINATION include) |
RuslanUrya | 0:dfe6edabb8ec | 13 | |
RuslanUrya | 0:dfe6edabb8ec | 14 | # |
RuslanUrya | 0:dfe6edabb8ec | 15 | # Scripts |
RuslanUrya | 0:dfe6edabb8ec | 16 | # |
RuslanUrya | 0:dfe6edabb8ec | 17 | install(DIRECTORY scripts/ |
RuslanUrya | 0:dfe6edabb8ec | 18 | USE_SOURCE_PERMISSIONS |
RuslanUrya | 0:dfe6edabb8ec | 19 | DESTINATION bin) |
RuslanUrya | 0:dfe6edabb8ec | 20 | |
RuslanUrya | 0:dfe6edabb8ec | 21 | # |
RuslanUrya | 0:dfe6edabb8ec | 22 | # System dependecies |
RuslanUrya | 0:dfe6edabb8ec | 23 | # |
RuslanUrya | 0:dfe6edabb8ec | 24 | find_package(Threads REQUIRED) |
RuslanUrya | 0:dfe6edabb8ec | 25 | |
RuslanUrya | 0:dfe6edabb8ec | 26 | # |
RuslanUrya | 0:dfe6edabb8ec | 27 | # Finding libuavcan - it will be a target if we're running from the top-level CMakeLists.txt, |
RuslanUrya | 0:dfe6edabb8ec | 28 | # otherwise try to find it in the system directories. |
RuslanUrya | 0:dfe6edabb8ec | 29 | # |
RuslanUrya | 0:dfe6edabb8ec | 30 | if (TARGET uavcan) |
RuslanUrya | 0:dfe6edabb8ec | 31 | message(STATUS "Using uavcan target; source dir: ${libuavcan_SOURCE_DIR}") |
RuslanUrya | 0:dfe6edabb8ec | 32 | set(UAVCAN_LIB uavcan) |
RuslanUrya | 0:dfe6edabb8ec | 33 | include_directories(${libuavcan_SOURCE_DIR}/include |
RuslanUrya | 0:dfe6edabb8ec | 34 | ${libuavcan_SOURCE_DIR}/include/dsdlc_generated) |
RuslanUrya | 0:dfe6edabb8ec | 35 | message(STATUS "POSIX source dir: ${libuavcan_posix_SOURCE_DIR}") |
RuslanUrya | 0:dfe6edabb8ec | 36 | include_directories(${libuavcan_posix_SOURCE_DIR}/include) |
RuslanUrya | 0:dfe6edabb8ec | 37 | else () |
RuslanUrya | 0:dfe6edabb8ec | 38 | message(STATUS "Using installed uavcan library") |
RuslanUrya | 0:dfe6edabb8ec | 39 | find_library(UAVCAN_LIB uavcan REQUIRED) |
RuslanUrya | 0:dfe6edabb8ec | 40 | endif () |
RuslanUrya | 0:dfe6edabb8ec | 41 | |
RuslanUrya | 0:dfe6edabb8ec | 42 | # |
RuslanUrya | 0:dfe6edabb8ec | 43 | # Applications - tests, tools. |
RuslanUrya | 0:dfe6edabb8ec | 44 | # |
RuslanUrya | 0:dfe6edabb8ec | 45 | include_directories(include) |
RuslanUrya | 0:dfe6edabb8ec | 46 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -std=c++11") # GCC or Clang |
RuslanUrya | 0:dfe6edabb8ec | 47 | |
RuslanUrya | 0:dfe6edabb8ec | 48 | if(CMAKE_BUILD_TYPE STREQUAL "Debug") |
RuslanUrya | 0:dfe6edabb8ec | 49 | add_definitions(-DUAVCAN_DEBUG=1) |
RuslanUrya | 0:dfe6edabb8ec | 50 | endif() |
RuslanUrya | 0:dfe6edabb8ec | 51 | |
RuslanUrya | 0:dfe6edabb8ec | 52 | # |
RuslanUrya | 0:dfe6edabb8ec | 53 | # Tests |
RuslanUrya | 0:dfe6edabb8ec | 54 | # These aren't installed, an average library user should not care about them. |
RuslanUrya | 0:dfe6edabb8ec | 55 | # |
RuslanUrya | 0:dfe6edabb8ec | 56 | add_executable(test_clock apps/test_clock.cpp) |
RuslanUrya | 0:dfe6edabb8ec | 57 | target_link_libraries(test_clock ${UAVCAN_LIB} rt ${CMAKE_THREAD_LIBS_INIT}) |
RuslanUrya | 0:dfe6edabb8ec | 58 | |
RuslanUrya | 0:dfe6edabb8ec | 59 | add_executable(test_socket apps/test_socket.cpp) |
RuslanUrya | 0:dfe6edabb8ec | 60 | target_link_libraries(test_socket ${UAVCAN_LIB} rt ${CMAKE_THREAD_LIBS_INIT}) |
RuslanUrya | 0:dfe6edabb8ec | 61 | |
RuslanUrya | 0:dfe6edabb8ec | 62 | add_executable(test_node apps/test_node.cpp) |
RuslanUrya | 0:dfe6edabb8ec | 63 | target_link_libraries(test_node ${UAVCAN_LIB} rt ${CMAKE_THREAD_LIBS_INIT}) |
RuslanUrya | 0:dfe6edabb8ec | 64 | |
RuslanUrya | 0:dfe6edabb8ec | 65 | add_executable(test_time_sync apps/test_time_sync.cpp) |
RuslanUrya | 0:dfe6edabb8ec | 66 | target_link_libraries(test_time_sync ${UAVCAN_LIB} rt ${CMAKE_THREAD_LIBS_INIT}) |
RuslanUrya | 0:dfe6edabb8ec | 67 | |
RuslanUrya | 0:dfe6edabb8ec | 68 | add_executable(test_system_utils apps/test_system_utils.cpp) |
RuslanUrya | 0:dfe6edabb8ec | 69 | target_link_libraries(test_system_utils ${UAVCAN_LIB} rt ${CMAKE_THREAD_LIBS_INIT}) |
RuslanUrya | 0:dfe6edabb8ec | 70 | |
RuslanUrya | 0:dfe6edabb8ec | 71 | add_executable(test_posix apps/test_posix.cpp) |
RuslanUrya | 0:dfe6edabb8ec | 72 | target_link_libraries(test_posix ${UAVCAN_LIB} rt ${CMAKE_THREAD_LIBS_INIT}) |
RuslanUrya | 0:dfe6edabb8ec | 73 | |
RuslanUrya | 0:dfe6edabb8ec | 74 | add_executable(test_dynamic_node_id_client apps/test_dynamic_node_id_client.cpp) |
RuslanUrya | 0:dfe6edabb8ec | 75 | target_link_libraries(test_dynamic_node_id_client ${UAVCAN_LIB} rt ${CMAKE_THREAD_LIBS_INIT}) |
RuslanUrya | 0:dfe6edabb8ec | 76 | |
RuslanUrya | 0:dfe6edabb8ec | 77 | add_executable(test_file_server apps/test_file_server.cpp) |
RuslanUrya | 0:dfe6edabb8ec | 78 | target_link_libraries(test_file_server ${UAVCAN_LIB} rt ${CMAKE_THREAD_LIBS_INIT}) |
RuslanUrya | 0:dfe6edabb8ec | 79 | |
RuslanUrya | 0:dfe6edabb8ec | 80 | add_executable(test_multithreading apps/test_multithreading.cpp) |
RuslanUrya | 0:dfe6edabb8ec | 81 | target_link_libraries(test_multithreading ${UAVCAN_LIB} rt ${CMAKE_THREAD_LIBS_INIT}) |
RuslanUrya | 0:dfe6edabb8ec | 82 | |
RuslanUrya | 0:dfe6edabb8ec | 83 | # |
RuslanUrya | 0:dfe6edabb8ec | 84 | # Tools |
RuslanUrya | 0:dfe6edabb8ec | 85 | # |
RuslanUrya | 0:dfe6edabb8ec | 86 | add_executable(uavcan_monitor apps/uavcan_monitor.cpp) |
RuslanUrya | 0:dfe6edabb8ec | 87 | target_link_libraries(uavcan_monitor ${UAVCAN_LIB} rt ${CMAKE_THREAD_LIBS_INIT}) |
RuslanUrya | 0:dfe6edabb8ec | 88 | |
RuslanUrya | 0:dfe6edabb8ec | 89 | add_executable(uavcan_nodetool apps/uavcan_nodetool.cpp) |
RuslanUrya | 0:dfe6edabb8ec | 90 | target_link_libraries(uavcan_nodetool ${UAVCAN_LIB} rt ${CMAKE_THREAD_LIBS_INIT}) |
RuslanUrya | 0:dfe6edabb8ec | 91 | |
RuslanUrya | 0:dfe6edabb8ec | 92 | add_executable(uavcan_dynamic_node_id_server apps/uavcan_dynamic_node_id_server.cpp) |
RuslanUrya | 0:dfe6edabb8ec | 93 | target_link_libraries(uavcan_dynamic_node_id_server ${UAVCAN_LIB} rt ${CMAKE_THREAD_LIBS_INIT}) |
RuslanUrya | 0:dfe6edabb8ec | 94 | |
RuslanUrya | 0:dfe6edabb8ec | 95 | install(TARGETS uavcan_monitor |
RuslanUrya | 0:dfe6edabb8ec | 96 | uavcan_nodetool |
RuslanUrya | 0:dfe6edabb8ec | 97 | uavcan_dynamic_node_id_server |
RuslanUrya | 0:dfe6edabb8ec | 98 | RUNTIME DESTINATION bin) |
RuslanUrya | 0:dfe6edabb8ec | 99 |