summaryrefslogtreecommitdiffstats
path: root/cmake/modules/BuildFIO.cmake
blob: 28e7ebfca774793c1a3bfe9d9aa0f7a149f6c408 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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()
  ExternalProject_Add(fio_ext
    DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/src/
    UPDATE_COMMAND "" # this disables rebuild on each run
    GIT_REPOSITORY "https://github.com/axboe/fio.git"
    GIT_TAG "fio-3.15"
    SOURCE_DIR ${CMAKE_BINARY_DIR}/src/fio
    BUILD_IN_SOURCE 1
    CONFIGURE_COMMAND <SOURCE_DIR>/configure
    BUILD_COMMAND $(MAKE) fio EXTFLAGS=-Wno-format-truncation ${FIO_EXTLIBS}
    INSTALL_COMMAND cp <BINARY_DIR>/fio ${CMAKE_BINARY_DIR}/bin)
endfunction()