Setup ArmoniK SDK
Global prerequisites
- CMake minimum version 3.22
- gRPC minimum version 1.50 (installed or built from source)
- ArmoniK API latest version installed
How to build for Linux
Prerequisites Linux
- Install Docker on your Linux system. Follow the instructions on the official Docker documentation.
- Clone the repository containing the source code and the necessary scripts.
CLion setup
- In Linux terminal:
- Specify the ARMONIK_API_DIR as an environment variable prior to running this script if the ArmoniK.Api cpp installation directory is not
../ArmoniK.Api/packages/cpp/install
- run
./tools/restart-build-env.sh
- Specify the ARMONIK_API_DIR as an environment variable prior to running this script if the ArmoniK.Api cpp installation directory is not
- In your IDE:
- Setup
Remote Host
as your toolchain and specify the user asroot
, password aspassword
and the address and ports to match the REMOTE_BUILD_ADDRESS variable specified in the script.
- Setup
Visual Studio setup
- In Linux terminal, run
./tools/setup-remote.sh
- You will be connected to the docker in interactive mode. Then, you can build and run your project in the Linux environment.
- If You want to perform remote development in your IDE, then run:
service ssh start
- In your IDE:
- Setup
Remote Host
by specifying the user asroot
, password aspassword
and the ports to 2223 as in the script. - As the project source is mounted in the docker, you may want to disable the file copies for
rsync
.
- Setup
How to build for Windows (Client only)
Prerequisites Windows
- Visual Studio 2022 or CLion or any other IDE.
- Git
Visual Studio
The Windows build is only for the client side, not the worker. When the prerequisites are satisfied, set up your IDE and configure it with CMake. You may check the installation directory of:
- ArmoniK API
- gRPC
- Protobuf
- CMake
If they are not installed in the same directory as specified in the CMakeLists.txt file at the project root, specify the install directory of ArmoniK API with ARMONIK_API_DIR
and the others with CMAKE_PREFIX_PATH
options.