Windows Source Build

Note that some plugins on the Windows platform have not been thoroughly tested; their compilation options are disabled by default in build.bat. Enabling them may cause issues—please report any problems promptly.

Required Dependencies

MSVC Toolchain

AimRT currently supports MSVC toolchain version 1940. It is recommended to install Visual Studio 2022 or later, selecting the Desktop development with C++ workload during installation.

Note that the MSVC toolset in Visual Studio 2022 was updated to version 19.40 in May 2024. Earlier toolsets below 19.40 may encounter compilation issues.

CMake

The minimum supported CMake version for AimRT is 3.24. Download an appropriate release from the CMake official site and install it.

Minimal Build

After installing the above, you can perform a minimal build without external dependencies. The build options are shown below:

cmake -B build ^
    -DCMAKE_BUILD_TYPE=Release ^
    -DAIMRT_INSTALL=ON ^
    -DCMAKE_INSTALL_PREFIX="./build/install" ^
    -DAIMRT_BUILD_TESTS=OFF ^
    -DAIMRT_BUILD_EXAMPLES=ON ^
    -DAIMRT_BUILD_PROTOCOLS=ON ^
    -DAIMRT_BUILD_DOCUMENT=ON ^
    -DAIMRT_BUILD_RUNTIME=ON ^
    -DAIMRT_BUILD_CLI_TOOLS=OFF ^
    -DAIMRT_BUILD_PYTHON_RUNTIME=OFF ^
    -DAIMRT_USE_FMT_LIB=ON ^
    -DAIMRT_BUILD_WITH_PROTOBUF=ON ^
    -DAIMRT_USE_LOCAL_PROTOC_COMPILER=OFF ^
    -DAIMRT_USE_PROTOC_PYTHON_PLUGIN=OFF ^
    -DAIMRT_BUILD_WITH_ROS2=OFF ^
    -DAIMRT_BUILD_NET_PLUGIN=ON ^
    -DAIMRT_BUILD_MQTT_PLUGIN=OFF ^
    -DAIMRT_BUILD_ZENOH_PLUGIN=OFF ^
    -DAIMRT_BUILD_ICEORYX_PLUGIN=OFF ^
    -DAIMRT_BUILD_ROS2_PLUGIN=OFF ^
    -DAIMRT_BUILD_RECORD_PLAYBACK_PLUGIN=ON ^
    -DAIMRT_BUILD_TIME_MANIPULATOR_PLUGIN=ON ^
    -DAIMRT_BUILD_PARAMETER_PLUGIN=ON ^
    -DAIMRT_BUILD_LOG_CONTROL_PLUGIN=ON ^
    -DAIMRT_BUILD_TOPIC_LOGGER_PLUGIN=ON ^
    -DAIMRT_BUILD_OPENTELEMETRY_PLUGIN=OFF ^
    -DAIMRT_BUILD_GRPC_PLUGIN=OFF ^
    -DAIMRT_BUILD_PYTHON_PACKAGE=OFF

cmake --build build --config Release --target all

Optional Dependencies

Full Build

The full build here excludes plugins that have not been sufficiently tested. Simply run build.bat.