-
Notifications
You must be signed in to change notification settings - Fork 892
Building Aeron
Build the project with Gradle using this build.gradle file.
You will require the Java 17+ to build Aeron:
- JDK 17 or later.
Full clean and build of all modules
$ ./gradlew
You require the following to build the C++ API for Aeron:
- C++11 supported compiler for the supported platform
- C11 supported compiler for the supported platform
- Requirements to build HdrHistogram_c.
- JDK 17 or later to compile the SBE schema definitions used by the archive client and run the system tests.
Note: Aeron support is available for 64-bit Linux, OSX, and Windows.
For convenience, the cppbuild
script does a full clean, build, and test of all targets as a Release build. By default the script will download a recent version of CMake to use for the build.
$ ./cppbuild/cppbuild
For those comfortable with CMake and want to do a build manually (CMake 3.26 is required) - then a clean, build, and test looks like:
$ mkdir -p cppbuild/Debug
$ cd cppbuild/Debug
$ cmake -DCMAKE_BUILD_TYPE=Debug ../..
$ cmake --build . --clean-first
$ ctest
In order to use the cppbuild
script on Windows Aeron requires PowerShell. The Windows script is called cppbuild.ps1
, which PowerShell should resolve if the command without the extension is run.
PS> .\cppbuild\cppbuild
By default, the C Media Driver is built as part of the C++ Build. However, it can be disabled via the CMake
option BUILD_AERON_DRIVER
being set to OFF
.
Note: C Media Driver is supported on Mac and Linux, the Windows version is experimental.
For dependencies and other information, see the README.
If you have doxygen installed and want to build the Doxygen doc, there is a nice doc
target that can be used.
$ make doc
If you would like a packaged version of the compiled API, there is the package
target that uses CPack. If the doc
has been built previous to the packaging, it will be included. Packages created are "TGZ;STGZ", but can be changed
by running cpack
directly.
$ make package
The Media Driver is packaged by the default build into an application that can be found here
aeron-driver/build/distributions/aeron-driver-${VERSION}.zip