mirror of
https://github.com/ceph/ceph
synced 2025-01-24 12:05:46 +00:00
10baab3fc8
to pick up the clang build fix. we should use the upstream repo, once the clang build fix gets merged. bumping up the fio helps to address following error, as this part was rewritten: src/test/fio/CMakeFiles/fio_ceph_objectstore.dir/fio_ceph_objectstore.cc.o.d -o src/test/fio/CMakeFiles/fio_ceph_objectstore.dir/fio_ceph_objectstore.cc.o -c ../src/test/fio/fio_ceph_objectstore.cc In file included from ../src/test/fio/fio_ceph_objectstore.cc:26: In file included from src/fio/fio.h:18: In file included from src/fio/thread_options.h:6: In file included from src/fio/options.h:8: src/fio/parse.h:128:13: error: arithmetic on a pointer to void return ret + offset; ~~~ ^ 1 error generated. Signed-off-by: Kefu Chai <kchai@redhat.com>
32 lines
1.2 KiB
CMake
32 lines
1.2 KiB
CMake
function(build_fio)
|
|
# we use an external project and copy the sources to bin directory to ensure
|
|
# that object files are built outside of the source tree.
|
|
include(ExternalProject)
|
|
if(ALLOCATOR)
|
|
set(FIO_EXTLIBS EXTLIBS=-l${ALLOCATOR})
|
|
endif()
|
|
|
|
include(FindMake)
|
|
find_make("MAKE_EXECUTABLE" "make_cmd")
|
|
|
|
set(source_dir ${CMAKE_BINARY_DIR}/src/fio)
|
|
file(MAKE_DIRECTORY ${source_dir})
|
|
ExternalProject_Add(fio_ext
|
|
UPDATE_COMMAND "" # this disables rebuild on each run
|
|
GIT_REPOSITORY "https://github.com/ceph/fio.git"
|
|
GIT_CONFIG advice.detachedHead=false
|
|
GIT_SHALLOW 1
|
|
GIT_TAG "quincy-with-cxx"
|
|
SOURCE_DIR ${source_dir}
|
|
BUILD_IN_SOURCE 1
|
|
CONFIGURE_COMMAND <SOURCE_DIR>/configure
|
|
BUILD_COMMAND ${make_cmd} fio EXTFLAGS=-Wno-format-truncation ${FIO_EXTLIBS}
|
|
INSTALL_COMMAND cp <BINARY_DIR>/fio ${CMAKE_BINARY_DIR}/bin)
|
|
|
|
add_library(fio INTERFACE IMPORTED)
|
|
add_dependencies(fio fio_ext)
|
|
set_target_properties(fio PROPERTIES
|
|
INTERFACE_INCLUDE_DIRECTORIES ${source_dir}
|
|
INTERFACE_COMPILE_OPTIONS "-include;${source_dir}/config-host.h;$<$<COMPILE_LANGUAGE:C>:-std=gnu99>$<$<COMPILE_LANGUAGE:CXX>:-std=gnu++17>")
|
|
endfunction()
|