Commit 6e35b745 authored by Ramon Nou's avatar Ramon Nou Committed by Alberto Miranda
Browse files

AGIOS dependency added

parent ca408d23
Loading
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -253,6 +253,10 @@ FetchContent_Declare(

FetchContent_MakeAvailable(expected)

pkg_check_modules(LIBCONFIG IMPORTED_TARGET libconfig>=1.4.9)

find_package(AGIOS REQUIRED)

if (SCORD_BUILD_TESTS)

  enable_testing()
+2 −0
Original line number Diff line number Diff line
@@ -23,6 +23,8 @@ available in the system:
    - [libfabric](https://github.com/ofiwg/libfabric) version 1.14.0rc3 and/or
[ucx](https://github.com/openucx/ucx.git) version 1.13.
  - [JSON-C](https://github.com/json-c/json-c) version 0.13.1.
- [libconfig-dev] version 1.4.9 or later.
- [agios] (https://github.com/francielizanon/agios) (development branch)

The following libraries are also required by `scord`, but will be downloaded
and compiled by the project as part of the standard build process.

cmake/FindAGIOS.cmake

0 → 100644
+79 −0
Original line number Diff line number Diff line
################################################################################
# Copyright 2022, Barcelona Supercomputing Center (BSC), Spain                 #
#                                                                              #
# This software was partially supported by the EuroHPC-funded project ADMIRE   #
#   (Project ID: 956748, https://www.admire-eurohpc.eu).                       #
#                                                                              #
# This file is part of scord.                                                  #
#                                                                              #
# scord is free software: you can redistribute it and/or modify                #
# it under the terms of the GNU General Public License as published by         #
# the Free Software Foundation, either version 3 of the License, or            #
# (at your option) any later version.                                          #
#                                                                              #
# scord is distributed in the hope that it will be useful,                     #
# but WITHOUT ANY WARRANTY; without even the implied warranty of               #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                #
# GNU General Public License for more details.                                 #
#                                                                              #
# You should have received a copy of the GNU General Public License            #
# along with scord.  If not, see <https://www.gnu.org/licenses/>.              #
#                                                                              #
# SPDX-License-Identifier: GPL-3.0-or-later                                    #
################################################################################

#[=======================================================================[.rst:
FindAGIOS
---------

Find AGIOS include dirs and libraries.

Use this module by invoking find_package with the form::

  find_package(AGIOS
    [REQUIRED]            # Fail with error if yaml-cpp is not found
    )


Result Variables
^^^^^^^^^^^^^^^^

This will define the following variables:

``AGIOS_INCLUDE_DIRS``
  Include directories needed to use Agios.
``AGIOS_LIBRARIES``
  Libraries needed to link to Agios.

Cache Variables
^^^^^^^^^^^^^^^

The following cache variables may also be set:

``AGIOS_INCLUDE_DIR``
  The directory containing ``agios.h``.
``AGIOS_LIBRARY``
  The path to the agios library.

#]=======================================================================]


find_path(AGIOS_INCLUDE_DIR
    NAMES agios.h
)

find_library(AGIOS_LIBRARY
    NAMES agios
)

set(AGIOS_INCLUDE_DIRS ${AGIOS_INCLUDE_DIR})
set(AGIOS_LIBRARIES ${AGIOS_LIBRARY})

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(AGIOS DEFAULT_MSG AGIOS_LIBRARIES AGIOS_INCLUDE_DIRS)

mark_as_advanced(
    AGIOS_LIBRARY
    AGIOS_INCLUDE_DIR
)
+9 −0
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ RUN apt-get update && \
    git clone https://github.com/mercury-hpc/mercury --recurse-submodules && \
    git clone https://github.com/mochi-hpc/mochi-margo --recurse-submodules && \
    git clone https://github.com/sewenew/redis-plus-plus --recurse-submodules && \
    git clone https://github.com/francielizanon/agios --recurse-submodules && \
    export LD_LIBRARY_PATH=${INSTALL_PATH}/lib:${INSTALL_PATH}/lib64 && \
    export PKG_CONFIG_PATH=${INSTALL_PATH}/lib/pkgconfig:${INSTALL_PATH}/lib64/pkgconfig && \
    cd && \
@@ -102,6 +103,14 @@ RUN apt-get update && \
    make install -j && \
    cd ../../ && \
    cd && \
    cd deps/agios && \
    git checkout development && \
    mkdir build && \
    cd build && \
    cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_PATH} .. && \
    make install -j && \
    cd ../../ && \
    cd && \
    rm -rf deps && \
    # Clean apt cache to reduce image layer size
    rm -rf /var/lib/apt/lists/* && \
+2 −0
Original line number Diff line number Diff line
@@ -37,6 +37,8 @@
#include <config/settings.hpp>
#include "rpc_handlers.hpp"

#include <agios.h>

namespace fs = std::filesystem;
namespace bpo = boost::program_options;