mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 16:57:49 +03:00
30bbc06336
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
116 lines
2.1 KiB
CMake
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)
|