diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 66d5cbc..19fa71c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,7 @@ set(FASTWRITER_ABI_VERSION "0") cmake_minimum_required(VERSION 2.8) +set(DISABLE_AIO TRUE CACHE BOOL "Use kernel AIO writer") set(DISABLE_XFS_REALTIME FALSE CACHE BOOL "Disable support of RealTime XFS partition") set(USE_CUSTOM_MEMCPY FALSE CACHE BOOL "Use custom memcpy routine instead of stanadrd") @@ -25,14 +26,22 @@ include_directories( add_definitions("-fPIC --std=c99 -Wall -O2 -pthread") +set(HEADERS fastwriter.h sysinfo.h default.h private.h) +set(SOURCES fastwriter.c sysinfo.c default.c) + if (USE_CUSTOM_MEMCPY) - set(HEADERS fastwriter.h sysinfo.h default.h private.h memcpy.h) - add_library(fastwriter SHARED fastwriter.c sysinfo.c default.c memcpy.c) -else (USE_CUSTOM_MEMCPY) - set(HEADERS fastwriter.h sysinfo.h default.h private.h) - add_library(fastwriter SHARED fastwriter.c sysinfo.c default.c) + set(HEADERS ${HEADERS} memcpy.h) + set(SOURCES ${SOURCES} memcpy.c) endif (USE_CUSTOM_MEMCPY) +if (NOT DISABLE_AIO) + check_include_files("libaio.h" HAVE_LIBAIO_H) + if (NOT HAVE_LIBAIO_H) + message(FATAL_ERROR "error: libaio.h is not found...") + endif (NOT HAVE_LIBAIO_H) +endif (NOT DISABLE_AIO) + +add_library(fastwriter SHARED ${SOURCES}) set_target_properties(fastwriter PROPERTIES VERSION ${FASTWRITER_VERSION} @@ -40,6 +49,10 @@ set_target_properties(fastwriter PROPERTIES LINK_FLAGS "-pthread" ) +if (NOT DISABLE_AIO) + target_link_libraries(fastwriter aio) +endif (NOT DISABLE_AIO) + set(TARNAME "fastwriter") set(PACKAGE_VERSION ${FASTWRITER_VERSION}) set(PACKAGE_NAME "${TARNAME}") |