CMakeLists.txt 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. project(fastwriter)
  2. set(FASTWRITER_VERSION "0.0.2")
  3. set(FASTWRITER_ABI_VERSION "0")
  4. cmake_minimum_required(VERSION 2.8)
  5. set(DISABLE_XFS_REALTIME FALSE CACHE BOOL "Disable support of RealTime XFS partition")
  6. include(CheckIncludeFiles)
  7. check_include_files("linux/falloc.h" HAVE_LINUX_FALLOC_H)
  8. if (NOT DISABLE_XFS_REALTIME)
  9. check_include_files("xfs/xfs.h" HAVE_XFS_H)
  10. if (NOT HAVE_XFS_H)
  11. message(FATAL_ERROR "error: xfs/xfs.h is not found...")
  12. endif (NOT HAVE_XFS_H)
  13. endif (NOT DISABLE_XFS_REALTIME)
  14. include_directories(
  15. ${CMAKE_SOURCE_DIR}/src
  16. ${CMAKE_CURRENT_BINARY_DIR}
  17. )
  18. add_definitions("-fPIC --std=c99 -Wall -O2 -pthread")
  19. set(HEADERS fastwriter.h sysinfo.h default.h private.h)
  20. add_library(fastwriter SHARED fastwriter.c sysinfo.c default.c memcpy.c)
  21. set_target_properties(fastwriter PROPERTIES
  22. VERSION ${FASTWRITER_VERSION}
  23. SOVERSION ${FASTWRITER_ABI_VERSION}
  24. LINK_FLAGS "-pthread"
  25. )
  26. set(TARNAME "fastwriter")
  27. set(PACKAGE_VERSION ${FASTWRITER_VERSION})
  28. set(PACKAGE_NAME "${TARNAME}")
  29. set(PACKAGE_TARNAME "${TARNAME}")
  30. set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
  31. set(PACKAGE_BUGREPORT "http://ufo.kit.edu/ufo/newticket")
  32. if(NOT DEFINED BIN_INSTALL_DIR)
  33. set(BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin")
  34. endif(NOT DEFINED BIN_INSTALL_DIR)
  35. if(NOT DEFINED LIB_INSTALL_DIR)
  36. set(LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib")
  37. endif(NOT DEFINED LIB_INSTALL_DIR)
  38. if(NOT DEFINED INCLUDE_INSTALL_DIR)
  39. set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include")
  40. endif(NOT DEFINED INCLUDE_INSTALL_DIR)
  41. if(NOT DEFINED LOCALE_INSTALL_DIR)
  42. set(LOCALE_INSTALL_DIR "${DATA_INSTALL_DIR}/locale/")
  43. endif(NOT DEFINED LOCALE_INSTALL_DIR)
  44. configure_file(fastwriter.pc.in ${CMAKE_CURRENT_BINARY_DIR}/fastwriter.pc)
  45. configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
  46. install(TARGETS fastwriter
  47. LIBRARY DESTINATION lib${LIB_SUFFIX}
  48. )
  49. install(FILES fastwriter.h
  50. DESTINATION include
  51. )
  52. install(FILES
  53. ${CMAKE_CURRENT_BINARY_DIR}/fastwriter.pc
  54. DESTINATION ${LIB_INSTALL_DIR}/pkgconfig
  55. )