sapling/eden/fs/inodes/CMakeLists.txt
Xavier Deguillard 30bbc06336 nfs: implement SETATTR RPC
Summary:
The SETATTR RPC allows for changing various attributes of the file, like it's
mode, uid, gid, etc. The one piece of the NFS RFC that isn't implemented is
that NFS allows for a client to pass a ctime to the server that it needs to
check prior to setting the attributes. This is done to avoid concurrent
operations on the file conflicting with each other. This is not implemented for
now as Mercurial appears to not be using it.

Reviewed By: kmancini

Differential Revision: D26760073

fbshipit-source-id: 3474665fcf1b089ef6f7de4a6c45a26ef324240e
2021-03-11 08:31:07 -08:00

116 lines
2.1 KiB
CMake

# Copyright (c) Facebook, Inc. and its affiliates.
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2.
if(WIN32)
file(GLOB INODES_SRCS "*.cpp" "sqliteoverlay/*.cpp")
list(
REMOVE_ITEM
INODES_SRCS
${CMAKE_CURRENT_SOURCE_DIR}/OverlayFile.cpp
${CMAKE_CURRENT_SOURCE_DIR}/OverlayFileAccess.cpp
${CMAKE_CURRENT_SOURCE_DIR}/InodeMetadata.cpp
)
else()
file(GLOB INODES_SRCS "*.cpp")
endif()
list(
REMOVE_ITEM
INODES_SRCS
${CMAKE_CURRENT_SOURCE_DIR}/RequestContext.cpp
${CMAKE_CURRENT_SOURCE_DIR}/InodeNumber.cpp
${CMAKE_CURRENT_SOURCE_DIR}/InodeMetadata.cpp
${CMAKE_CURRENT_SOURCE_DIR}/InodeTimestamps.cpp
)
add_library(
eden_inodes_inodenumber STATIC
${CMAKE_CURRENT_SOURCE_DIR}/InodeNumber.cpp
)
target_link_libraries(
eden_inodes_inodenumber
PUBLIC
Folly::folly
)
add_library(
eden_inodes STATIC
${INODES_SRCS}
)
target_link_libraries(
eden_inodes
PUBLIC
eden_config
eden_inodes_inodenumber
eden_inode_metadata
eden_journal
eden_model_git
eden_nfs_dispatcher
eden_nfs_nfsd3
eden_overlay_thrift_cpp
eden_service_thrift_util
eden_sqlite
eden_store
eden_takeover_thrift
eden_telemetry
eden_utils
eden_tree_overlay
Folly::folly
PRIVATE
eden_nfs_server
)
if (WIN32)
target_link_libraries(
eden_inodes
PUBLIC
eden_prjfs
)
else()
target_link_libraries(
eden_inodes
PUBLIC
eden_fuse
eden_overlay
eden_service
)
endif()
add_library(
eden_request_context STATIC
RequestContext.cpp
)
target_link_libraries(
eden_request_context
PUBLIC
eden_notifications
eden_store
eden_telemetry
eden_utils
Folly::folly
)
add_library(
eden_inode_metadata STATIC
InodeMetadata.cpp InodeTimestamps.cpp InodeMetadata.h InodeTimestamps.h
)
target_link_libraries(
eden_inode_metadata
PUBLIC
eden_utils
PRIVATE
eden_fuse
eden_utils
Folly::folly
)
add_subdirectory(overlay)
add_subdirectory(treeoverlay)
add_subdirectory(test)