Verified Commit 3e514b95 authored by Marc Vef's avatar Marc Vef
Browse files

Adding Boost preprocessor dependency to gkfs tests cmake requirements

Boost preprocessor is header-only and supplied by the Mercury installation. Nevertheless, we never tested for it although it needs to exist for testing.
parent c687a48b
Loading
Loading
Loading
Loading
Loading
+40 −0
Original line number Diff line number Diff line
################################################################################
# Copyright 2018-2021, Barcelona Supercomputing Center (BSC), Spain            #
# Copyright 2015-2021, Johannes Gutenberg Universitaet Mainz, Germany          #
#                                                                              #
# This software was partially supported by the                                 #
# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu).    #
#                                                                              #
# This software was partially supported by the                                 #
# ADA-FS project under the SPPEXA project funded by the DFG.                   #
#                                                                              #
# This file is part of GekkoFS.                                                #
#                                                                              #
# GekkoFS 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.                                          #
#                                                                              #
# GekkoFS 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 GekkoFS.  If not, see <https://www.gnu.org/licenses/>.            #
#                                                                              #
# SPDX-License-Identifier: GPL-3.0-or-later                                    #
################################################################################

find_path(BOOST_PREPROCESSOR_INCLUDE_DIR
    NAMES boost/preprocessor.hpp
)

set(BOOST_PREPROCESSOR_INCLUDE_DIRS ${BOOST_PREPROCESSOR_INCLUDE_DIR})

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Boost_preprocessor DEFAULT_MSG BOOST_PREPROCESSOR_INCLUDE_DIRS)

mark_as_advanced(
    BOOST_PREPROCESSOR_INCLUDE_DIR
)
 No newline at end of file
+2 −0
Original line number Diff line number Diff line
@@ -261,6 +261,8 @@ include(CMakeDependentOption)
cmake_dependent_option(GKFS_INSTALL_TESTS "Install GekkoFS self tests" OFF "GKFS_BUILD_TESTS" OFF)

if (GKFS_BUILD_TESTS)
    # Boost preprocessor header-only is supplied by the Mercury installation
    find_package(Boost_preprocessor REQUIRED)
    # check symbols exists doesn't work for statx. This is a workaround
    check_cxx_source_compiles("
        #include <fcntl.h>
+1 −2
Original line number Diff line number Diff line
@@ -74,8 +74,6 @@ FetchContent_Declare(nlohmann_json
    GIT_PROGRESS ON
)



FetchContent_GetProperties(nlohmann_json)

if(NOT nlohmann_json_POPULATED)
@@ -94,6 +92,7 @@ if(NOT nlohmann_json_POPULATED)
endif()

target_include_directories(gkfs.io PRIVATE
    ${BOOST_PREPROCESSOR_INCLUDE_DIRS}
    $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/gkfs.io>
)
target_link_libraries(gkfs.io