beegfs/meta/CMakeLists.txt
2025-08-10 01:34:16 +02:00

370 lines
15 KiB
CMake

include_directories(
source
)
add_library(
meta STATIC
./source/toolkit/StorageTkEx.cpp
./source/toolkit/BuddyCommTk.cpp
./source/toolkit/BuddyCommTk.h
./source/toolkit/XAttrTk.h
./source/toolkit/XAttrTk.cpp
./source/toolkit/StorageTkEx.h
./source/net/message/mon/RequestMetaDataMsgEx.h
./source/net/message/mon/RequestMetaDataMsgEx.cpp
./source/net/message/control/AckMsgEx.h
./source/net/message/control/SetChannelDirectMsgEx.cpp
./source/net/message/control/AckMsgEx.cpp
./source/net/message/control/SetChannelDirectMsgEx.h
./source/net/message/NetMessageFactory.h
./source/net/message/session/opening/OpenFileMsgEx.cpp
./source/net/message/session/opening/CloseFileMsgEx.h
./source/net/message/session/opening/OpenFileMsgEx.h
./source/net/message/session/opening/CloseFileMsgEx.cpp
./source/net/message/session/BumpFileVersionMsgEx.h
./source/net/message/session/GetFileVersionMsgEx.h
./source/net/message/session/locking/FLockEntryMsgEx.h
./source/net/message/session/locking/FLockRangeMsgEx.h
./source/net/message/session/locking/FLockRangeMsgEx.cpp
./source/net/message/session/locking/FLockAppendMsgEx.h
./source/net/message/session/locking/FLockEntryMsgEx.cpp
./source/net/message/session/locking/FLockAppendMsgEx.cpp
./source/net/message/session/GetFileVersionMsgEx.cpp
./source/net/message/session/BumpFileVersionMsgEx.cpp
./source/net/message/session/AckNotifyMsgEx.h
./source/net/message/NetMessageFactory.cpp
./source/net/message/nodes/SetTargetConsistencyStatesMsgEx.cpp
./source/net/message/nodes/GetNodesMsgEx.h
./source/net/message/nodes/GetNodeCapacityPoolsMsgEx.cpp
./source/net/message/nodes/RefreshCapacityPoolsMsgEx.cpp
./source/net/message/nodes/GetTargetMappingsMsgEx.h
./source/net/message/nodes/GetClientStatsMsgEx.h
./source/net/message/nodes/MapTargetsMsgEx.cpp
./source/net/message/nodes/RefreshTargetStatesMsgEx.cpp
./source/net/message/nodes/storagepools/RefreshStoragePoolsMsgEx.h
./source/net/message/nodes/storagepools/RefreshStoragePoolsMsgEx.cpp
./source/net/message/nodes/HeartbeatMsgEx.cpp
./source/net/message/nodes/HeartbeatRequestMsgEx.h
./source/net/message/nodes/GetClientStatsMsgEx.cpp
./source/net/message/nodes/GetTargetMappingsMsgEx.cpp
./source/net/message/nodes/PublishCapacitiesMsgEx.h
./source/net/message/nodes/GenericDebugMsgEx.cpp
./source/net/message/nodes/GetNodesMsgEx.cpp
./source/net/message/nodes/SetMirrorBuddyGroupMsgEx.h
./source/net/message/nodes/PublishCapacitiesMsgEx.cpp
./source/net/message/nodes/RemoveNodeMsgEx.cpp
./source/net/message/nodes/SetTargetConsistencyStatesMsgEx.h
./source/net/message/nodes/HeartbeatRequestMsgEx.cpp
./source/net/message/nodes/MapTargetsMsgEx.h
./source/net/message/nodes/HeartbeatMsgEx.h
./source/net/message/nodes/GenericDebugMsgEx.h
./source/net/message/nodes/RemoveNodeMsgEx.h
./source/net/message/nodes/GetNodeCapacityPoolsMsgEx.h
./source/net/message/nodes/RefreshTargetStatesMsgEx.h
./source/net/message/nodes/SetMirrorBuddyGroupMsgEx.cpp
./source/net/message/nodes/RefreshCapacityPoolsMsgEx.h
./source/net/message/MirroredMessage.h
./source/net/message/storage/moving/RenameV2MsgEx.cpp
./source/net/message/storage/moving/RenameV2MsgEx.h
./source/net/message/storage/moving/MovingFileInsertMsgEx.cpp
./source/net/message/storage/moving/MovingDirInsertMsgEx.h
./source/net/message/storage/moving/MovingFileInsertMsgEx.h
./source/net/message/storage/moving/MovingDirInsertMsgEx.cpp
./source/net/message/storage/GetHighResStatsMsgEx.h
./source/net/message/storage/creating/MkFileWithPatternMsgEx.cpp
./source/net/message/storage/creating/MkLocalDirMsgEx.cpp
./source/net/message/storage/creating/MkFileWithPatternMsgEx.h
./source/net/message/storage/creating/RmDirEntryMsgEx.h
./source/net/message/storage/creating/UnlinkFileMsgEx.h
./source/net/message/storage/creating/MkFileMsgEx.cpp
./source/net/message/storage/creating/RmDirMsgEx.cpp
./source/net/message/storage/creating/MkLocalDirMsgEx.h
./source/net/message/storage/creating/MkFileMsgEx.h
./source/net/message/storage/creating/MkDirMsgEx.cpp
./source/net/message/storage/creating/UnlinkFileMsgEx.cpp
./source/net/message/storage/creating/MkDirMsgEx.h
./source/net/message/storage/creating/HardlinkMsgEx.h
./source/net/message/storage/creating/HardlinkMsgEx.cpp
./source/net/message/storage/creating/RmLocalDirMsgEx.cpp
./source/net/message/storage/creating/RmDirEntryMsgEx.cpp
./source/net/message/storage/creating/RmLocalDirMsgEx.h
./source/net/message/storage/creating/RmDirMsgEx.h
./source/net/message/storage/creating/MoveFileInodeMsgEx.cpp
./source/net/message/storage/creating/UnlinkLocalFileInodeMsgEx.cpp
./source/net/message/storage/TruncFileMsgEx.h
./source/net/message/storage/mirroring/ResyncRawInodesMsgEx.cpp
./source/net/message/storage/mirroring/StorageResyncStartedMsgEx.cpp
./source/net/message/storage/mirroring/StorageResyncStartedMsgEx.h
./source/net/message/storage/mirroring/SetMetadataMirroringMsgEx.h
./source/net/message/storage/mirroring/ResyncSessionStoreMsgEx.h
./source/net/message/storage/mirroring/ResyncSessionStoreMsgEx.cpp
./source/net/message/storage/mirroring/GetMetaResyncStatsMsgEx.h
./source/net/message/storage/mirroring/SetMetadataMirroringMsgEx.cpp
./source/net/message/storage/mirroring/GetMetaResyncStatsMsgEx.cpp
./source/net/message/storage/mirroring/ResyncRawInodesMsgEx.h
./source/net/message/storage/attribs/RemoveXAttrMsgEx.cpp
./source/net/message/storage/attribs/UpdateDirParentMsgEx.h
./source/net/message/storage/attribs/RefreshEntryInfoMsgEx.h
./source/net/message/storage/attribs/StatMsgEx.h
./source/net/message/storage/attribs/RemoveXAttrMsgEx.h
./source/net/message/storage/attribs/ListXAttrMsgEx.h
./source/net/message/storage/attribs/GetEntryInfoMsgEx.h
./source/net/message/storage/attribs/SetAttrMsgEx.h
./source/net/message/storage/attribs/SetXAttrMsgEx.h
./source/net/message/storage/attribs/SetDirPatternMsgEx.h
./source/net/message/storage/attribs/ListXAttrMsgEx.cpp
./source/net/message/storage/attribs/SetDirPatternMsgEx.cpp
./source/net/message/storage/attribs/GetXAttrMsgEx.cpp
./source/net/message/storage/attribs/StatMsgEx.cpp
./source/net/message/storage/attribs/RefreshEntryInfoMsg.cpp
./source/net/message/storage/attribs/GetEntryInfoMsgEx.cpp
./source/net/message/storage/attribs/GetXAttrMsgEx.h
./source/net/message/storage/attribs/UpdateDirParentMsgEx.cpp
./source/net/message/storage/attribs/SetAttrMsgEx.cpp
./source/net/message/storage/attribs/SetXAttrMsgEx.cpp
./source/net/message/storage/attribs/SetFilePatternMsgEx.cpp
./source/net/message/storage/TruncFileMsgEx.cpp
./source/net/message/storage/GetHighResStatsMsgEx.cpp
./source/net/message/storage/lookup/FindOwnerMsgEx.cpp
./source/net/message/storage/lookup/FindLinkOwnerMsgEx.cpp
./source/net/message/storage/lookup/FindOwnerMsgEx.h
./source/net/message/storage/lookup/LookupIntentMsgEx.h
./source/net/message/storage/lookup/FindLinkOwnerMsgEx.h
./source/net/message/storage/lookup/LookupIntentMsgEx.cpp
./source/net/message/storage/chunkbalancing/ChunkBalanceMsgEx.cpp
./source/net/message/storage/chunkbalancing/StripePatternUpdateMsgEx.cpp
./source/net/message/storage/StatStoragePathMsgEx.h
./source/net/message/storage/StatStoragePathMsgEx.cpp
./source/net/message/storage/listing/ListDirFromOffsetMsgEx.h
./source/net/message/storage/listing/ListDirFromOffsetMsgEx.cpp
./source/net/message/storage/quota/SetExceededQuotaMsgEx.cpp
./source/net/message/storage/quota/SetExceededQuotaMsgEx.h
./source/net/message/storage/attribs/SetFilePatternMsgEx.h
./source/net/message/storage/attribs/SetFilePatternMsgEx.cpp
./source/net/message/storage/creating/UnlinkLocalFileInodeMsgEx.h
./source/net/message/storage/creating/UnlinkLocalFileInodeMsgEx.cpp
./source/net/message/storage/creating/MoveFileInodeMsgEx.h
./source/net/message/storage/creating/MoveFileInodeMsgEx.cpp
./source/net/message/fsck/UpdateFileAttribsMsgEx.cpp
./source/net/message/fsck/RemoveInodesMsgEx.h
./source/net/message/fsck/AdjustChunkPermissionsMsgEx.h
./source/net/message/fsck/FixInodeOwnersMsgEx.cpp
./source/net/message/fsck/AdjustChunkPermissionsMsgEx.cpp
./source/net/message/fsck/FsckSetEventLoggingMsgEx.h
./source/net/message/fsck/UpdateDirAttribsMsgEx.cpp
./source/net/message/fsck/FixInodeOwnersMsgEx.h
./source/net/message/fsck/UpdateFileAttribsMsgEx.h
./source/net/message/fsck/UpdateDirAttribsMsgEx.h
./source/net/message/fsck/FixInodeOwnersInDentryMsgEx.cpp
./source/net/message/fsck/RetrieveDirEntriesMsgEx.cpp
./source/net/message/fsck/DeleteDirEntriesMsgEx.h
./source/net/message/fsck/RetrieveFsIDsMsgEx.h
./source/net/message/fsck/CreateEmptyContDirsMsgEx.h
./source/net/message/fsck/RetrieveInodesMsgEx.cpp
./source/net/message/fsck/LinkToLostAndFoundMsgEx.h
./source/net/message/fsck/RetrieveInodesMsgEx.h
./source/net/message/fsck/RecreateDentriesMsgEx.cpp
./source/net/message/fsck/CreateDefDirInodesMsgEx.h
./source/net/message/fsck/LinkToLostAndFoundMsgEx.cpp
./source/net/message/fsck/RecreateFsIDsMsgEx.cpp
./source/net/message/fsck/FixInodeOwnersInDentryMsgEx.h
./source/net/message/fsck/FsckSetEventLoggingMsgEx.cpp
./source/net/message/fsck/RetrieveDirEntriesMsgEx.h
./source/net/message/fsck/DeleteDirEntriesMsgEx.cpp
./source/net/message/fsck/CreateDefDirInodesMsgEx.cpp
./source/net/message/fsck/RecreateDentriesMsgEx.h
./source/net/message/fsck/RecreateFsIDsMsgEx.h
./source/net/message/fsck/RemoveInodesMsgEx.cpp
./source/net/message/fsck/RetrieveFsIDsMsgEx.cpp
./source/net/message/fsck/CreateEmptyContDirsMsgEx.cpp
./source/net/message/fsck/CheckAndRepairDupInodeMsgEx.h
./source/net/message/fsck/CheckAndRepairDupInodeMsgEx.cpp
./source/net/msghelpers/MsgHelperMkFile.h
./source/net/msghelpers/MsgHelperTrunc.cpp
./source/net/msghelpers/MsgHelperXAttr.cpp
./source/net/msghelpers/MsgHelperStat.h
./source/net/msghelpers/MsgHelperLocking.h
./source/net/msghelpers/MsgHelperUnlink.h
./source/net/msghelpers/MsgHelperXAttr.h
./source/net/msghelpers/MsgHelperOpen.cpp
./source/net/msghelpers/MsgHelperClose.cpp
./source/net/msghelpers/MsgHelperClose.h
./source/net/msghelpers/MsgHelperTrunc.h
./source/net/msghelpers/MsgHelperUnlink.cpp
./source/net/msghelpers/MsgHelperMkFile.cpp
./source/net/msghelpers/MsgHelperStat.cpp
./source/net/msghelpers/MsgHelperOpen.h
./source/net/msghelpers/MsgHelperLocking.cpp
./source/components/FileEventLogger.h
./source/components/DisposalGarbageCollector.h
./source/components/DatagramListener.h
./source/components/InternodeSyncer.h
./source/components/ModificationEventFlusher.cpp
./source/components/ModificationEventFlusher.h
./source/components/InternodeSyncer.cpp
./source/components/DatagramListener.cpp
./source/components/worker/GetChunkFileAttribsWork.cpp
./source/components/worker/SetChunkFileAttribsWork.h
./source/components/worker/SetChunkFileAttribsWork.cpp
./source/components/worker/UnlinkChunkFileWork.h
./source/components/worker/BarrierWork.h
./source/components/worker/CloseChunkFileWork.h
./source/components/worker/GetChunkFileAttribsWork.h
./source/components/worker/UnlinkChunkFileWork.cpp
./source/components/worker/TruncChunkFileWork.cpp
./source/components/worker/CloseChunkFileWork.cpp
./source/components/worker/LockEntryNotificationWork.h
./source/components/worker/LockEntryNotificationWork.cpp
./source/components/worker/LockRangeNotificationWork.h
./source/components/worker/LockRangeNotificationWork.cpp
./source/components/worker/TruncChunkFileWork.h
./source/components/FileEventLogger.cpp
./source/components/DisposalGarbageCollector.cpp
./source/components/buddyresyncer/BuddyResyncer.cpp
./source/components/buddyresyncer/BuddyResyncJob.h
./source/components/buddyresyncer/BuddyResyncerBulkSyncSlave.cpp
./source/components/buddyresyncer/SessionStoreResyncer.cpp
./source/components/buddyresyncer/BuddyResyncerGatherSlave.cpp
./source/components/buddyresyncer/BuddyResyncerBulkSyncSlave.h
./source/components/buddyresyncer/SyncCandidate.h
./source/components/buddyresyncer/BuddyResyncerGatherSlave.h
./source/components/buddyresyncer/SessionStoreResyncer.h
./source/components/buddyresyncer/BuddyResyncJob.cpp
./source/components/buddyresyncer/SyncSlaveBase.cpp
./source/components/buddyresyncer/SyncSlaveBase.h
./source/components/buddyresyncer/BuddyResyncerModSyncSlave.h
./source/components/buddyresyncer/BuddyResyncerModSyncSlave.cpp
./source/components/buddyresyncer/BuddyResyncer.h
./source/session/LockingNotifier.cpp
./source/session/EntryLock.h
./source/session/EntryLockStore.cpp
./source/session/EntryLockStore.h
./source/session/SessionFile.h
./source/session/LockingNotifier.h
./source/session/Session.h
./source/session/SessionStore.cpp
./source/session/SessionFileStore.h
./source/session/SessionFile.cpp
./source/session/Session.cpp
./source/session/MirrorMessageResponseState.h
./source/session/SessionStore.h
./source/session/SessionFileStore.cpp
./source/session/MirrorMessageResponseState.cpp
./source/program/Program.h
./source/program/Program.cpp
./source/program/Main.cpp
./source/app/App.h
./source/app/App.cpp
./source/app/config/Config.h
./source/app/config/Config.cpp
./source/nodes/MetaNodeOpStats.h
./source/storage/DirInode.h
./source/storage/IncompleteInode.cpp
./source/storage/MetadataEx.h
./source/storage/Locking.h
./source/storage/DirEntryStore.cpp
./source/storage/DentryStoreData.h
./source/storage/FileInodeStoreData.h
./source/storage/InodeFileStore.cpp
./source/storage/PosixACL.cpp
./source/storage/IncompleteInode.h
./source/storage/Locking.cpp
./source/storage/MkFileDetails.h
./source/storage/MetaStore.cpp
./source/storage/InodeFileStore.h
./source/storage/FileInode.cpp
./source/storage/DiskMetaData.cpp
./source/storage/FileInode.h
./source/storage/InodeDirStore.cpp
./source/storage/DirEntry.cpp
./source/storage/SyncedDiskAccessPath.h
./source/storage/DirEntryStore.h
./source/storage/MetaStore.h
./source/storage/MetaStoreRename.cpp
./source/storage/NodeOfflineWait.h
./source/storage/InodeDirStore.h
./source/storage/DirInode.cpp
./source/storage/DiskMetaData.h
./source/storage/DirEntry.h
./source/storage/MetaFileHandle.h
./source/storage/FileInodeStoreData.cpp
./source/storage/PosixACL.h
)
target_link_libraries(
meta
beegfs-common
dl
pthread
blkid
)
add_executable(
beegfs-meta
source/program/Main.cpp
)
target_link_libraries(
beegfs-meta
meta
)
if(NOT BEEGFS_SKIP_TESTS)
add_executable(
test-meta
./tests/TestConfig.h
./tests/TestSerialization.h
./tests/TestSerialization.cpp
./tests/TestConfig.cpp
./tests/TestBuddyMirroring.cpp
)
target_link_libraries(
test-meta
meta
gtest_main
)
# required for a test
file(
COPY ${CMAKE_CURRENT_SOURCE_DIR}/build/dist/etc/beegfs-meta.conf
DESTINATION dist/etc/
)
add_test(
NAME test-meta
COMMAND test-meta --compiler
)
endif()
install(
TARGETS beegfs-meta
DESTINATION "usr/sbin"
COMPONENT "meta"
)
install(
PROGRAMS "build/dist/sbin/beegfs-setup-meta"
DESTINATION "usr/sbin"
COMPONENT "meta"
)
install(
FILES "build/dist/usr/lib/systemd/system/beegfs-meta.service" "build/dist/usr/lib/systemd/system/beegfs-meta@.service"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/systemd/system"
COMPONENT "meta"
)
install(
FILES "build/dist/etc/beegfs-meta.conf"
DESTINATION "etc/beegfs"
COMPONENT "meta"
)
install(
PROGRAMS "build/beegfs-meta.sh"
RENAME "beegfs-meta"
DESTINATION "opt/beegfs/sbin"
COMPONENT "meta"
)