X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;f=CMakeLists.txt;h=bcefc8e59bde3ceabdb1a70826c4bb3a8c01363d;hb=255958989d7774fa54d6287d5ab79511104e2acc;hp=4b4f27fb78b51aa135162de3e6348bc84557e034;hpb=5c2c6d3286e691f8a5b61bc2d83b9cc07bb18e9d;p=rrq%2Ffuse_xattrs.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 4b4f27f..bcefc8e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,29 @@ -cmake_minimum_required(VERSION 2.8) +cmake_minimum_required(VERSION 2.8 FATAL_ERROR) project(fuse_xattrs C) +set(FUSE_XATTRS_VERSION_MAJOR 0) +set(FUSE_XATTRS_VERSION_MINOR 5) + +set(BINARY_SIDECAR_EXT \".xattr\") + +set(MAX_METADATA_SIZE "8*1024*1024") # 8 MiB +set(XATTR_NAME_MAX 255) # chars in an extended attribute name +set(XATTR_SIZE_MAX 65536) # size of an extended attribute value (64k) +set(XATTR_LIST_MAX 65536) # size of extended attribute namelist (64k) + +configure_file ( + "${PROJECT_SOURCE_DIR}/fuse_xattrs_config.h.in" + "${PROJECT_BINARY_DIR}/fuse_xattrs_config.h" +) +include_directories( + "${PROJECT_BINARY_DIR}" +) + +configure_file ( + "${PROJECT_SOURCE_DIR}/fuse_xattrs.1.in" + "${PROJECT_BINARY_DIR}/fuse_xattrs.1" +) + # Check xattr headers include (CheckIncludeFile) check_include_file (sys/xattr.h HAVE_SYS_XATTR_H) @@ -11,18 +34,21 @@ endif() include (CheckCSourceCompiles) check_c_source_compiles (" #include - #include + #include int main() { return 1; } - " HAVE_ATTR_XATTR_H) -if(NOT HAVE_ATTR_XATTR_H) - message(FATAL_ERROR "attr/xattr.h not found") + " HAVE_SYS_XATTR_H) +if(NOT HAVE_SYS_XATTR_H) + message(FATAL_ERROR "sys/xattr.h not found") endif() # set required definitions add_definitions (-D_FILE_OFFSET_BITS=64) +add_definitions (-D HAVE_UTIMENSAT=1) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/CMakeModules/") +set(CMAKE_C_FLAGS "-O3") + option(ENABLE_CODECOVERAGE "Enable code coverage testing support" ) if(ENABLE_CODECOVERAGE) include (CodeCoverage) @@ -35,26 +61,33 @@ if(ENABLE_CODECOVERAGE) endif(ENABLE_CODECOVERAGE) set(SOURCE_FILES - compat/fuse_opt.c - compat/fuse_opt.h fuse_xattrs.c passthrough.c - passthrough.h binary_storage.c - binary_storage.h utils.c - utils.h - const.h - fuse_xattrs_config.h) +) add_executable(fuse_xattrs ${SOURCE_FILES}) -target_link_libraries ( - fuse_xattrs - fuse -) +if(APPLE) + target_link_libraries ( + fuse_xattrs + osxfuse + ) +else() + target_link_libraries ( + fuse_xattrs + fuse + ) +endif() + install (TARGETS fuse_xattrs DESTINATION bin) +install ( + FILES ${CMAKE_CURRENT_BINARY_DIR}/fuse_xattrs.1 + DESTINATION share/man/man1 + COMPONENT doc +) enable_testing() configure_file(run_tests.sh run_tests.sh COPYONLY)