diff --git a/CMakeLists.txt b/CMakeLists.txt index c805080e5..98e25d167 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ project(capio ) # Set required C++ standard -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED TRUE) # Generate the compile_commands.json file diff --git a/README.md b/README.md index 4bd88bf4b..bb652de30 100644 --- a/README.md +++ b/README.md @@ -13,15 +13,23 @@ Bash. --- +## Automatic install with SPACK -## 🔧 Build and Run Tests +CAPIO is on SPACK! to install it automatically, just add the High Performance IO +repo to spack and then install CAPIO: +```bash +spack repo add https://github.com/High-Performance-IO/hpio-spack.git +spack install capio +``` + +## 🔧 Manual Build and Install ### Dependencies **Required manually:** - `cmake >= 3.15` -- `C++17` +- `C++20` - `pthreads` **Fetched/compiled during configuration:** @@ -84,12 +92,18 @@ CAPIO_WORKFLOW_NAME=wfname CAPIO_APP_NAME=appname LD_PRELOAD=libcapio_posix.so ./your_app + +killall -USR1 capio_server ``` > [!CAUTION] > if `CAPIO_APP_NAME` and `CAPIO_WORKFLOW_NAME` are not set (or are set but do not match the values present in the > CAPIO-CL configuration file), CAPIO will not be able to operate correctly! +> [!tip] +> To gracefully shhut down the capio server instance, just send the SIGUSR1 signal. +> the capio_server process will then automatically clean up and terminate itself! + --- ## ⚙️ Environment Variables