A C++ implementation of the Distributed Interactive Simulation (DIS) application protocol IEEE-1278.
Note: This code base was originally auto generated with xmlpg.
-
CMake is required to build the platform specific projects. It can be downloaded and installed from http://cmake.org/
NOTE: Windows users will need to either add the DLL folders to their path, or copy the DLLs to the output directory (
Debug).
The OpenDIS build system accepts several build options to control compilation. The following options are available:
- BUILD_SHARED_LIBS - Boolean value to specify whether to build OpenDIS libraries as shared (ON/TRUE) or static (OFF/FALSE). Default is ON.
- BUILD_EXAMPLES - Boolean value to specify whether to build example sender/receiver applications. Default is OFF.
- BUILD_TESTS - Boolean value to specify whether to build unit tests. Default is OFF.
These options are passed to cmake as arguments. Example: cmake -DBUILD_SHARED_LIBS=ON -DBUILD_EXAMPLES=ON ..
Note that the examples make use of winsock2 to implement the DIS server connection. This will not work on Linux.
- Run
mkdir build - Run
cd build - Run
cmake .. - Optionally,
-DCMAKE_INSTALL_PREFIX=<custom-path-to-install>to set a custom directory to install the bin, include, and lib output directories. - Run
make- this will output the libOpenDIS6.so, and libOpenDIS7.so libraries in the build directory along with the Example Applications. - The below steps are optional
- Run
make packageto build Linux package files. Currently this will produce a Red Hat RPM package, Debian DEB package, and 2 compressed tarball (XZ, GZ). - Run
make installto install bin, lib, and dir, intoCMAKE_INSTALL_PREFIXWARNING:CMAKE_INSTALL_PREFIXdefault can to somewhere/usr/local/, if not specified with the-Dflag as shown in Step 3.1. If you're unsure where to install, and want to keep your/usr/local/directory clean, runcmake .. -DCMAKE_INSTALL_PREFIX=./install. This will causemake installto create a local install directory, from which you can move files elsewhere at a later date.
- Open
CMake (cmake-gui)via the the start menu. - Enter the open-dis-cpp directory path into the Source and Build fields.
- Click the
+ Add Entrybutton and enter the following details: Name:CMAKE_LIBRARY_ARCHITECTUREType:STRINGValue:x64(64 bit) orx86(32 bit) - Click Configure and follow the prompts, selecting the correct generator (i.e. Visual Studio version).
- Click Generate
- Click Open Project - This should open the generates solution file in Visual Studio
- Build the Solution (
Ctrl + Shift + B)
These steps were tested with Visual Studio 17 2022 (Community Edition).
Currently, only OpenDIS 6 and the Example Applications compile.
The library and executable files are output to a Debug directory.
To quickly clean up CMake output files, use git clean -xdf.
Note: Use with care if you are actually developing open-dis-cpp, as git clean removes untracked files.