Conan.io recipe for cyclonedds.
The package is usually consumed using the conan install
command or a conanfile.txt.
-
Add remote to conan's package remotes:
$ conan remote add sintef https://artifactory.smd.sintef.no/artifactory/api/conan/conan-local
-
Using conanfile.txt in your project with cmake
Add a conanfile.txt to your project. This file describes dependencies and your configuration of choice, e.g.:
[requires] cyclonedds/[>=0.10.2]@sintef/stable [options] None [imports] licenses, * -> ./licenses @ folder=True [generators] cmake_paths cmake_find_package
Insert into your CMakeLists.txt something like the following lines:
cmake_minimum_required(VERSION 3.16) project(TheProject CXX) include(${CMAKE_BINARY_DIR}/conan_paths.cmake) find_package(CycloneDDS MODULE REQUIRED) # find_package(CycloneDDS CONFIG REQUIRED) # also available # idlc_generate function to create from idl is available add_executable(the_executor code.cpp) target_link_libraries(the_executor CycloneDDS::ddsc)
Then, do
$ mkdir build && cd build $ conan install .. -s build_type=<build_type>
where
<build_type>
is e.g.Debug
orRelease
. You can now continue with the usual dance with cmake commands for configuration and compilation. For details on how to use conan, please consult Conan.io docs
Option | Values | Default |
---|---|---|
shared | [True, False] | True |
with_tls | [True, False] | True |
with_shm | [True, False] | True |
with_deadline_missed | [True, False] | True |
with_lifespan | [True, False] | True |
with_network_partitions | [True, False] | True |
with_security | [True, False] | True |
with_source_specific_multicast | [True, False] | True |
with_topic_discovery | [True, False] | True |
with_type_discovery | [True, False] | True |
with_doc | [True, False] | False |
with_examples | [True, False] | False |
with_tests | [True, False] | False |
with_ddsconf | [True, False] | True |
with_idlc | [True, False] | True |
with_schema | [True, False] | True |
with_dns | [True, False] | True |
with_freertos | [True, False] | False |
with_lwip | [True, False] | False |
with_analyzer | [True, False, "clang-tidy"] | False |
with_coverage | [True, False] | False |
with_sanitizer | ANY | "" |
with_werror | [True, False] | True |
- Several invalid combinations are not handled by the recipe and will fail
- conan-center bison does not seem to provide
bison_target
, bison may need to be installed system-wide instead. - RPATH is not stripped from the libraries. Should they be?
build_type=Debug
fails with MSVC unless a system-installed bison is used instead of conan-center:choco install -y winflexbison3