Loading CMakeLists.txt +5 −0 Original line number Diff line number Diff line Loading @@ -253,6 +253,11 @@ endif () ### variables. mark_variables_as_advanced(REGEX "^(FETCHCONTENT|fmt|FMT|spdlog|SPDLOG)_.*$") ### redisplusplus check message(STATUS "[${PROJECT_NAME}] Checking for Redis Plus Plus") find_package(RedisPlusPlus 1.3.3 REQUIRED) # ############################################################################## # Process subdirectories # ############################################################################## Loading cmake/FindHiRedis.cmake 0 → 100644 +117 −0 Original line number Diff line number Diff line ################################################################################ # Copyright 2021, 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: FindHiRedis --------- Find hiredis include dirs and libraries. Use this module by invoking find_package with the form:: find_package(HiRedis [version] [EXACT] # Minimum or EXACT version e.g. 0.6.2 [REQUIRED] # Fail with error if yaml-cpp is not found ) Imported Targets ^^^^^^^^^^^^^^^^ This module provides the following imported targets, if found: ``HIRedis::HiRedis`` The HiRedis library Result Variables ^^^^^^^^^^^^^^^^ This will define the following variables: ``HiRedis_FOUND`` True if the system has the HiRedis library. ``HiRedis_VERSION`` The version of the HiRedis library which was found. ``HiRedis_INCLUDE_DIRS`` Include directories needed to use HiRedis. ``HiRedis_LIBRARIES`` Libraries needed to link to HiRedis. Cache Variables ^^^^^^^^^^^^^^^ The following cache variables may also be set: ``HiRedis_INCLUDE_DIR`` The directory containing ``hiredis.h``. ``HiRedis_LIBRARY`` The path to the HiRedis library. #]=======================================================================] find_package(PkgConfig) pkg_check_modules(PC_HiRedis QUIET hiredis) find_path(HiRedis_INCLUDE_DIR NAMES hiredis/hiredis.h PATHS ${PC_HiRedis_INCLUDE_DIRS} PATH_SUFFIXES HiRedis ) find_library(HiRedis_LIBRARY NAMES hiredis PATHS ${PC_HiRedis_LIBRARY_DIRS} ) mark_as_advanced( HiRedis_INCLUDE_DIR HiRedis_LIBRARY ) set(HiRedis_VERSION ${PC_HiRedis_VERSION}) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(HiRedis FOUND_VAR HiRedis_FOUND REQUIRED_VARS HiRedis_LIBRARY HiRedis_INCLUDE_DIR VERSION_VAR HiRedis_VERSION ) if(HiRedis_FOUND) set(HiRedis_LIBRARIES ${HiRedis_LIBRARY}) set(HiRedis_INCLUDE_DIRS ${HiRedis_INCLUDE_DIR}) set(HiRedis_DEFINITIONS ${PC_HiRedis_CFLAGS_OTHER}) endif() if(HiRedis_FOUND AND NOT TARGET HiRedis::HiRedis) add_library(HiRedis::HiRedis UNKNOWN IMPORTED) set_target_properties(HiRedis::HiRedis PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" IMPORTED_LOCATION "${HiRedis_LIBRARY}" INTERFACE_COMPILE_DEFINITIONS "${PC_HiRedis_CFLAGS_OTHER}" INTERFACE_INCLUDE_DIRECTORIES "${HiRedis_INCLUDE_DIR}" ) endif() cmake/FindRedisPlusPlus.cmake 0 → 100644 +117 −0 Original line number Diff line number Diff line ################################################################################ # Copyright 2021, 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: FindRedisPlusPlus --------- Find hiredis include dirs and libraries. Use this module by invoking find_package with the form:: find_package(RedisPlusPlus [version] [EXACT] # Minimum or EXACT version e.g. 0.6.2 [REQUIRED] # Fail with error if yaml-cpp is not found ) Imported Targets ^^^^^^^^^^^^^^^^ This module provides the following imported targets, if found: ``RedisPlusPlus::RedisPlusPlus`` The RedisPlusPlus library Result Variables ^^^^^^^^^^^^^^^^ This will define the following variables: ``RedisPlusPlus_FOUND`` True if the system has the RedisPlusPlus library. ``RedisPlusPlus_VERSION`` The version of the RedisPlusPlus library which was found. ``RedisPlusPlus_INCLUDE_DIRS`` Include directories needed to use RedisPlusPlus. ``RedisPlusPlus_LIBRARIES`` Libraries needed to link to RedisPlusPlus. Cache Variables ^^^^^^^^^^^^^^^ The following cache variables may also be set: ``RedisPlusPlus_INCLUDE_DIR`` The directory containing ``redis++.h``. ``RedisPlusPlus_LIBRARY`` The path to the RedisPlusPlus library. #]=======================================================================] find_package(PkgConfig) pkg_check_modules(PC_RedisPlusPlus QUIET redisplusplus) find_path(RedisPlusPlus_INCLUDE_DIR NAMES sw/redis++/redis++.h PATHS ${PC_RedisPlusPlus_INCLUDE_DIRS} PATH_SUFFIXES RedisPlusPlus ) find_library(RedisPlusPlus_LIBRARY NAMES redis++ PATHS ${PC_RedisPlusPlus_LIBRARY_DIRS} ) mark_as_advanced( RedisPlusPlus_INCLUDE_DIR RedisPlusPlus_LIBRARY ) set(RedisPlusPlus_VERSION ${PC_RedisPlusPlus_VERSION}) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(RedisPlusPlus FOUND_VAR RedisPlusPlus_FOUND REQUIRED_VARS RedisPlusPlus_LIBRARY RedisPlusPlus_INCLUDE_DIR VERSION_VAR RedisPlusPlus_VERSION ) if(RedisPlusPlus_FOUND) set(RedisPlusPlus_LIBRARIES ${RedisPlusPlus_LIBRARY}) set(RedisPlusPlus_INCLUDE_DIRS ${RedisPlusPlus_INCLUDE_DIR}) set(RedisPlusPlus_DEFINITIONS ${PC_RedisPlusPlus_CFLAGS_OTHER}) endif() if(RedisPlusPlus_FOUND AND NOT TARGET RedisPlusPlus::RedisPlusPlus) add_library(RedisPlusPlus::RedisPlusPlus UNKNOWN IMPORTED) set_target_properties(RedisPlusPlus::RedisPlusPlus PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" IMPORTED_LOCATION "${RedisPlusPlus_LIBRARY}" INTERFACE_COMPILE_DEFINITIONS "${PC_RedisPlusPlus_CFLAGS_OTHER}" INTERFACE_INCLUDE_DIRECTORIES "${RedisPlusPlus_INCLUDE_DIR}" ) endif() docker/0.1.0/Dockerfile +9 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ RUN apt-get update && \ python3 \ libyaml-dev libcurl4-openssl-dev procps \ # genopts dependencies python3-venv && \ python3-venv libhiredis-dev && \ # install cmake 3.14 since it's needed for some dependencies curl -OL https://github.com/Kitware/CMake/releases/download/v3.23.1/cmake-3.23.1-Linux-x86_64.sh && \ chmod u+x ./cmake-3.23.1-Linux-x86_64.sh && \ Loading Loading @@ -58,6 +58,7 @@ RUN apt-get update && \ git clone https://github.com/pmodels/argobots --recurse-submodules && \ 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 && \ export LD_LIBRARY_PATH=${INSTALL_PATH}/lib:${INSTALL_PATH}/lib64 && \ export PKG_CONFIG_PATH=${INSTALL_PATH}/lib/pkgconfig:${INSTALL_PATH}/lib64/pkgconfig && \ cd && \ Loading Loading @@ -94,6 +95,13 @@ RUN apt-get update && \ PKG_CONFIG_PATH=${INSTALL_PATH}/lib/pkgconfig:${INSTALL_PATH}/lib64/pkgconfig ./configure --prefix=${INSTALL_PATH} && \ make -j install && \ cd && \ cd deps/redis-plus-plus && \ 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/* && \ Loading src/scord-ctl/CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ target_include_directories( target_link_libraries( scord-ctl PRIVATE common::config common::logger common::network::rpc_server scord_ctl_private_rpcs fmt::fmt Boost::program_options scord_ctl_private_rpcs fmt::fmt Boost::program_options RedisPlusPlus::RedisPlusPlus ) install(TARGETS scord DESTINATION ${CMAKE_INSTALL_BINDIR}) Loading
CMakeLists.txt +5 −0 Original line number Diff line number Diff line Loading @@ -253,6 +253,11 @@ endif () ### variables. mark_variables_as_advanced(REGEX "^(FETCHCONTENT|fmt|FMT|spdlog|SPDLOG)_.*$") ### redisplusplus check message(STATUS "[${PROJECT_NAME}] Checking for Redis Plus Plus") find_package(RedisPlusPlus 1.3.3 REQUIRED) # ############################################################################## # Process subdirectories # ############################################################################## Loading
cmake/FindHiRedis.cmake 0 → 100644 +117 −0 Original line number Diff line number Diff line ################################################################################ # Copyright 2021, 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: FindHiRedis --------- Find hiredis include dirs and libraries. Use this module by invoking find_package with the form:: find_package(HiRedis [version] [EXACT] # Minimum or EXACT version e.g. 0.6.2 [REQUIRED] # Fail with error if yaml-cpp is not found ) Imported Targets ^^^^^^^^^^^^^^^^ This module provides the following imported targets, if found: ``HIRedis::HiRedis`` The HiRedis library Result Variables ^^^^^^^^^^^^^^^^ This will define the following variables: ``HiRedis_FOUND`` True if the system has the HiRedis library. ``HiRedis_VERSION`` The version of the HiRedis library which was found. ``HiRedis_INCLUDE_DIRS`` Include directories needed to use HiRedis. ``HiRedis_LIBRARIES`` Libraries needed to link to HiRedis. Cache Variables ^^^^^^^^^^^^^^^ The following cache variables may also be set: ``HiRedis_INCLUDE_DIR`` The directory containing ``hiredis.h``. ``HiRedis_LIBRARY`` The path to the HiRedis library. #]=======================================================================] find_package(PkgConfig) pkg_check_modules(PC_HiRedis QUIET hiredis) find_path(HiRedis_INCLUDE_DIR NAMES hiredis/hiredis.h PATHS ${PC_HiRedis_INCLUDE_DIRS} PATH_SUFFIXES HiRedis ) find_library(HiRedis_LIBRARY NAMES hiredis PATHS ${PC_HiRedis_LIBRARY_DIRS} ) mark_as_advanced( HiRedis_INCLUDE_DIR HiRedis_LIBRARY ) set(HiRedis_VERSION ${PC_HiRedis_VERSION}) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(HiRedis FOUND_VAR HiRedis_FOUND REQUIRED_VARS HiRedis_LIBRARY HiRedis_INCLUDE_DIR VERSION_VAR HiRedis_VERSION ) if(HiRedis_FOUND) set(HiRedis_LIBRARIES ${HiRedis_LIBRARY}) set(HiRedis_INCLUDE_DIRS ${HiRedis_INCLUDE_DIR}) set(HiRedis_DEFINITIONS ${PC_HiRedis_CFLAGS_OTHER}) endif() if(HiRedis_FOUND AND NOT TARGET HiRedis::HiRedis) add_library(HiRedis::HiRedis UNKNOWN IMPORTED) set_target_properties(HiRedis::HiRedis PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" IMPORTED_LOCATION "${HiRedis_LIBRARY}" INTERFACE_COMPILE_DEFINITIONS "${PC_HiRedis_CFLAGS_OTHER}" INTERFACE_INCLUDE_DIRECTORIES "${HiRedis_INCLUDE_DIR}" ) endif()
cmake/FindRedisPlusPlus.cmake 0 → 100644 +117 −0 Original line number Diff line number Diff line ################################################################################ # Copyright 2021, 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: FindRedisPlusPlus --------- Find hiredis include dirs and libraries. Use this module by invoking find_package with the form:: find_package(RedisPlusPlus [version] [EXACT] # Minimum or EXACT version e.g. 0.6.2 [REQUIRED] # Fail with error if yaml-cpp is not found ) Imported Targets ^^^^^^^^^^^^^^^^ This module provides the following imported targets, if found: ``RedisPlusPlus::RedisPlusPlus`` The RedisPlusPlus library Result Variables ^^^^^^^^^^^^^^^^ This will define the following variables: ``RedisPlusPlus_FOUND`` True if the system has the RedisPlusPlus library. ``RedisPlusPlus_VERSION`` The version of the RedisPlusPlus library which was found. ``RedisPlusPlus_INCLUDE_DIRS`` Include directories needed to use RedisPlusPlus. ``RedisPlusPlus_LIBRARIES`` Libraries needed to link to RedisPlusPlus. Cache Variables ^^^^^^^^^^^^^^^ The following cache variables may also be set: ``RedisPlusPlus_INCLUDE_DIR`` The directory containing ``redis++.h``. ``RedisPlusPlus_LIBRARY`` The path to the RedisPlusPlus library. #]=======================================================================] find_package(PkgConfig) pkg_check_modules(PC_RedisPlusPlus QUIET redisplusplus) find_path(RedisPlusPlus_INCLUDE_DIR NAMES sw/redis++/redis++.h PATHS ${PC_RedisPlusPlus_INCLUDE_DIRS} PATH_SUFFIXES RedisPlusPlus ) find_library(RedisPlusPlus_LIBRARY NAMES redis++ PATHS ${PC_RedisPlusPlus_LIBRARY_DIRS} ) mark_as_advanced( RedisPlusPlus_INCLUDE_DIR RedisPlusPlus_LIBRARY ) set(RedisPlusPlus_VERSION ${PC_RedisPlusPlus_VERSION}) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(RedisPlusPlus FOUND_VAR RedisPlusPlus_FOUND REQUIRED_VARS RedisPlusPlus_LIBRARY RedisPlusPlus_INCLUDE_DIR VERSION_VAR RedisPlusPlus_VERSION ) if(RedisPlusPlus_FOUND) set(RedisPlusPlus_LIBRARIES ${RedisPlusPlus_LIBRARY}) set(RedisPlusPlus_INCLUDE_DIRS ${RedisPlusPlus_INCLUDE_DIR}) set(RedisPlusPlus_DEFINITIONS ${PC_RedisPlusPlus_CFLAGS_OTHER}) endif() if(RedisPlusPlus_FOUND AND NOT TARGET RedisPlusPlus::RedisPlusPlus) add_library(RedisPlusPlus::RedisPlusPlus UNKNOWN IMPORTED) set_target_properties(RedisPlusPlus::RedisPlusPlus PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" IMPORTED_LOCATION "${RedisPlusPlus_LIBRARY}" INTERFACE_COMPILE_DEFINITIONS "${PC_RedisPlusPlus_CFLAGS_OTHER}" INTERFACE_INCLUDE_DIRECTORIES "${RedisPlusPlus_INCLUDE_DIR}" ) endif()
docker/0.1.0/Dockerfile +9 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ RUN apt-get update && \ python3 \ libyaml-dev libcurl4-openssl-dev procps \ # genopts dependencies python3-venv && \ python3-venv libhiredis-dev && \ # install cmake 3.14 since it's needed for some dependencies curl -OL https://github.com/Kitware/CMake/releases/download/v3.23.1/cmake-3.23.1-Linux-x86_64.sh && \ chmod u+x ./cmake-3.23.1-Linux-x86_64.sh && \ Loading Loading @@ -58,6 +58,7 @@ RUN apt-get update && \ git clone https://github.com/pmodels/argobots --recurse-submodules && \ 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 && \ export LD_LIBRARY_PATH=${INSTALL_PATH}/lib:${INSTALL_PATH}/lib64 && \ export PKG_CONFIG_PATH=${INSTALL_PATH}/lib/pkgconfig:${INSTALL_PATH}/lib64/pkgconfig && \ cd && \ Loading Loading @@ -94,6 +95,13 @@ RUN apt-get update && \ PKG_CONFIG_PATH=${INSTALL_PATH}/lib/pkgconfig:${INSTALL_PATH}/lib64/pkgconfig ./configure --prefix=${INSTALL_PATH} && \ make -j install && \ cd && \ cd deps/redis-plus-plus && \ 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/* && \ Loading
src/scord-ctl/CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ target_include_directories( target_link_libraries( scord-ctl PRIVATE common::config common::logger common::network::rpc_server scord_ctl_private_rpcs fmt::fmt Boost::program_options scord_ctl_private_rpcs fmt::fmt Boost::program_options RedisPlusPlus::RedisPlusPlus ) install(TARGETS scord DESTINATION ${CMAKE_INSTALL_BINDIR})