This library provides a vsomeip-based uProtocol transport for C++ uEntities.
IMPORTANT NOTE: This project is under active development
This module contains the vsomeip implementation of the Layer 1 UTransport
API
from up-cpp.
- Compiler: GCC/G++ 11 or Clang 13
- Conan : 1.59 or latest 2.X
Using the recipes found in up-conan-recipes, build these Conan packages:
- up-core-api -
conan create --version 1.5.8 --build=missing up-core-api/developer
- up-cpp -
conan create --version 0.2.0 --build=missing up-cpp/developer
Additionally, this project depends on the vsomeip library, which is not a Conan package.
Note: Do not enable signal handling in the vsomeip library.
Follow these steps to clone and build the vsomeip library:
# Install boost (version: 1.84.0): https://www.boost.org/users/history/version_1_84_0.html
$ cd boost
$ ./bootstrap.sh --prefix=<installation-directory> # can be left as default /usr/local
$ ./b2
$ sudo ./b2 install
# Clone the vsomeip repository
git clone https://github.com/COVESA/vsomeip.git
# Navigate into the cloned repository
cd vsomeip
# Checkout the desired version
git checkout 3.4.10
# Create a new directory for the build
mkdir build
cd build
# Run CMake to configure the build. Note: Replace "/usr/local/" with your desired install path.
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local/ -G Ninja ..
# Build the project using Ninja
ninja
# Install the library (you might need sudo privileges)
sudo ninja install
To add up-client-vsomeip-cpp to your conan build dependencies, place following in your conanfile.txt:
[requires]
up-client-vsomeip-cpp/[>=1.0.0 <2.0.0]
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
NOTE: If using conan version 1.59 Ensure that the conan profile is configured to use ABI 11 (libstdc++11: New ABI) standards according to the Conan documentation for managing gcc ABIs.
The following steps are only required for developers to locally build and test up-client-vsomeip-cpp, If you are making a project that uses up-client-vsomeip-cpp, follow the steps in the How to Use the Library section above.
cd up-client-vsomeip-cpp
conan install .
cd build
cmake ../ -DCMAKE_TOOLCHAIN_FILE=Release/generators/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Release
cmake --build . -- -j
Once the build completes, tests can be run with ctest
.
TODO Verify steps for pure cmake build without Conan.
See: up-conan-recipes
Give a ⭐️ if this project helped you!