always use the fio built from source for better consistency.
Signed-off-by: Kefu Chai <kchai@redhat.com>
# fio
option(WITH_FIO "build with fio plugin enabled" OFF)
if(WITH_FIO)
- if (NOT FIO_INCLUDE_DIR)
- # Use local external fio if include directory is not set
- set(FIO_INCLUDE_DIR ${CMAKE_BINARY_DIR}/src/fio)
- endif()
include(BuildFIO)
build_fio()
endif()
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 ${CMAKE_BINARY_DIR}/src/fio)
endfunction()
# ObjectStore
add_library(fio_ceph_objectstore SHARED fio_ceph_objectstore.cc)
-target_include_directories(fio_ceph_objectstore SYSTEM PUBLIC ${FIO_INCLUDE_DIR})
+target_link_libraries(fio_ceph_objectstore fio)
# Messenger
add_library(fio_ceph_messenger SHARED fio_ceph_messenger.cc)
-target_include_directories(fio_ceph_messenger SYSTEM PUBLIC ${FIO_INCLUDE_DIR})
+target_link_libraries(fio_ceph_messenger fio)
# prevent fio from adding 'typedef int bool' and gettid()
if(HAVE_GETTID)