GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - OpenSimulationInterface/osi-cpp: ASAM Open Simulation Interface C++ Bindings

BranchesTags
Open more actions menu

Latest commit

 

History

16 Commits
16 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
open-simulation-interface @ 083481d
open-simulation-interface @ 083481d
 
 
.gitmodules
.gitmodules
 
 
CMakeLists.txt
CMakeLists.txt
 
 
CMakePresets.json
CMakePresets.json
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
open_simulation_interface-config-version.cmake.in
open_simulation_interface-config-version.cmake.in
 
 
open_simulation_interface-config.cmake.in
open_simulation_interface-config.cmake.in
 
 
vcpkg-configuration.json
vcpkg-configuration.json
 
 
vcpkg.json
vcpkg.json
 
 

Repository files navigation

Open Simulation Interface (OSI) C++ Bindings

This C++ package provides C++ bindings for the ASAM Open Simulation Interface.

For more information on OSI see the official documentation or the class list for defined protobuf messages.

Usage

For usage examples, please refer to the official documentation:

  • OSMP examples, including the code found at osi-sensor-model-packaging:
    • OSMPDummySource
    • OSMPDummySensor
    • OSMPCNetworkProxy

Installation

Checkout the repository with submodules

  • Open a terminal.

  • Clone the osi-cpp repository, including sub-modules:

    git clone --recurse-submodules https://github.com/OpenSimulationInterface/osi-cpp.git
  • Switch to the repository directory:

    cd osi-cpp

Using vcpkg for dependencies

Especially for building on Windows, the use of vcpkg to handle dependencies is recommended. This can be achieved easily through the use of the CMake vcpkg preset when configuring:

In order to use the preset the environment variable VCPKG_ROOT has to be set to the root of your vcpkg installation. This can either be done manually, or through a CMake User preset that inherits from the vcpkg preset, i.e. by providing a CMakeUserPresets.json file with the following content:

{
  "version": 3,
  "configurePresets": [
    {
      "name": "default",
      "inherits": "vcpkg",
      "environment": {
        "VCPKG_ROOT": "C:\\vcpkg"
      }
    }
  ]
}

When building on windows for inclusion into a DLL, e.g. for FMU generation, you can inherit from the vcpkg-windows preset instead of the vcpkg preset to build for static linking into a DLL.

The build can then be performed in the following manner:

  • Configure the build:

    cmake --preset default
  • Perform the build:

    cmake --build build

See the vcpkg documentation for further information on the use of vcpkg in combination with CMake in various build environments.

Building without vcpkg

To build without the use of vcpkg to handle dependencies, you have to ensure that necessary prerequisites are installed and detectable by CMake.

Once this has been achieved, the build can be performed in the following manner:

  • Configure the build:

    cmake -B build
  • Perform the build:

    cmake --build build

Further information

For detailed installation instructions, please refer to the official documentation:

  • Setting up OSI
    • Installing protobuf for static / dynamic linking
    • Installing OSI for C++ on Linux
    • Installing OSI for C++ on Windows

About

ASAM Open Simulation Interface C++ Bindings

Resources

Readme
License
Activity
Custom properties

Stars

2 stars

Watchers

2 watching

Forks

2 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.