Verified Commit e05935da authored by Alberto Miranda's avatar Alberto Miranda ♨️
Browse files

Add adm_iosched shared library with API headers

parent 6016dd62
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -183,6 +183,7 @@ FetchContent_Declare(
)

FetchContent_MakeAvailable(spdlog)
set_target_properties(spdlog PROPERTIES POSITION_INDEPENDENT_CODE ON)

### file_options: required for reading configuration files
message(STATUS "[${PROJECT_NAME}] Downloading and building file_options")
@@ -217,6 +218,15 @@ mark_variables_as_advanced(REGEX "^(FETCHCONTENT|fmt|FMT|spdlog|SPDLOG)_.*$")
# ##############################################################################
# Process subdirectories
# ##############################################################################

# set compile flags
add_compile_options("-Wall" "-Wextra" "$<$<CONFIG:RELEASE>:-O3>")
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
  add_compile_options("-stdlib=libc++")
else()
  # nothing special for gcc at the moment
endif()

add_subdirectory(etc)
add_subdirectory(src)

+1 −2
Original line number Diff line number Diff line
#include <fmt/format.h>
#include <engine.hpp>

#include <admire.hpp>

int
main(int argc, char* argv[]) {
@@ -38,4 +38,3 @@ main(int argc, char* argv[]) {
                "ADM_adhoc_access remote procedure completed successfully\n");
    }
}
+2 −2
Original line number Diff line number Diff line
@@ -34,6 +34,6 @@ list(APPEND examples
foreach (example IN LISTS examples)
    add_executable(${example})
    target_sources(${example} PRIVATE ${example}.cpp)
    target_link_libraries(${example} PUBLIC network_engine fmt::fmt)
    target_link_libraries(${example}
      PUBLIC network_engine fmt::fmt adm_iosched)
endforeach()
+2 −0
Original line number Diff line number Diff line
@@ -38,3 +38,5 @@ target_link_libraries(
)

install(TARGETS scord DESTINATION ${CMAKE_INSTALL_BINDIR})

add_subdirectory(api)

src/api/CMakeLists.txt

0 → 100644
+40 −0
Original line number Diff line number Diff line
################################################################################
# Copyright 2021-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                                    #
################################################################################

add_library(adm_iosched SHARED c_wrapper.cpp admire.hpp)

target_sources(adm_iosched
  PUBLIC admire.h
  PRIVATE admire.cpp)

target_include_directories(adm_iosched PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

target_link_libraries(adm_iosched PRIVATE network_engine)

install(
  TARGETS adm_iosched
  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
  PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/adm_iosched
)
Loading