#------------------------------------------------------------------------------- # xrootd plugin for QuarkDB plugin #------------------------------------------------------------------------------- add_definitions(${GCOV_CFLAGS}) # @todo(esindril) this should be split int XrdQuarkDB-Objects library that are # then used to build a proper XrdQuarkDB-${XRDPLUGIN_SOVERSION} MODULE and a # XrdQuarkDB-Static library that can then be linked in the test binaries. add_library(XrdQuarkDB SHARED ../deps/xxhash/xxhash.cc ../deps/xxhash/xxhash.hh XrdPlugin.cc XrdQuarkDB.cc XrdQuarkDB.hh Utils.cc Utils.hh BufferedReader.cc BufferedReader.hh BufferedWriter.cc BufferedWriter.hh Commands.cc Commands.hh Common.hh Configuration.cc Configuration.hh Connection.cc Connection.hh Dispatcher.cc Dispatcher.hh EventFD.hh Formatter.cc Formatter.hh Link.cc Link.hh QuarkDBNode.cc QuarkDBNode.hh RedisParser.cc RedisParser.hh RedisRequest.cc RedisRequest.hh Shard.cc Shard.hh ShardDirectory.cc ShardDirectory.hh StandaloneGroup.cc StandaloneGroup.hh StateMachine.cc StateMachine.hh Timekeeper.cc Timekeeper.hh auth/AuthenticationDispatcher.cc auth/AuthenticationDispatcher.hh config/ConfigurationReader.cc config/ConfigurationReader.hh health/HealthIndicator.hh netio/AsioPoller.cc netio/AsioPoller.hh pubsub/SimplePatternMatcher.hh pubsub/Publisher.cc pubsub/Publisher.hh pubsub/SubscriptionTracker.cc pubsub/SubscriptionTracker.hh raft/RaftBlockedWrites.cc raft/RaftBlockedWrites.hh raft/RaftConfig.cc raft/RaftConfig.hh raft/RaftJournal.cc raft/RaftJournal.hh raft/RaftState.cc raft/RaftState.hh raft/RaftTalker.cc raft/RaftTalker.hh raft/RaftUtils.cc raft/RaftUtils.hh raft/RaftDispatcher.cc raft/RaftDispatcher.hh raft/RaftReplicator.cc raft/RaftReplicator.hh raft/RaftResilverer.cc raft/RaftResilverer.hh raft/RaftTimeouts.cc raft/RaftTimeouts.hh raft/RaftDirector.cc raft/RaftDirector.hh raft/RaftCommitTracker.cc raft/RaftCommitTracker.hh raft/RaftGroup.cc raft/RaftGroup.hh raft/RaftMembers.hh raft/RaftTrimmer.cc raft/RaftTrimmer.hh raft/RaftLease.cc raft/RaftLease.hh raft/RaftVoteRegistry.cc raft/RaftVoteRegistry.hh raft/RaftWriteTracker.cc raft/RaftWriteTracker.hh recovery/RecoveryDispatcher.cc recovery/RecoveryDispatcher.hh recovery/RecoveryEditor.cc recovery/RecoveryEditor.hh recovery/RecoveryRunner.cc recovery/RecoveryRunner.hh redis/ArrayResponseBuilder.cc redis/ArrayResponseBuilder.hh redis/Authenticator.cc redis/Authenticator.hh redis/InternalFilter.cc redis/InternalFilter.hh redis/CommandMonitor.cc redis/CommandMonitor.hh redis/LeaseFilter.cc redis/LeaseFilter.hh redis/MultiHandler.cc redis/MultiHandler.hh redis/RedisEncodedResponse.hh redis/Transaction.cc redis/Transaction.hh storage/ConsistencyScanner.cc storage/ConsistencyScanner.hh storage/ExpirationEventCache.cc storage/ExpirationEventCache.hh storage/ExpirationEventIterator.cc storage/ExpirationEventIterator.hh storage/InternalKeyParsing.cc storage/InternalKeyParsing.hh storage/KeyConstants.cc storage/KeyConstants.hh storage/KeyDescriptor.hh storage/KeyDescriptorBuilder.cc storage/KeyDescriptorBuilder.hh storage/KeyLocators.hh storage/LeaseInfo.hh storage/ParanoidManifestChecker.cc storage/ParanoidManifestChecker.hh storage/PatternMatching.hh storage/Randomization.cc storage/Randomization.hh storage/ReverseLocator.hh storage/StagingArea.hh storage/VersionedHashRevisionTracker.cc storage/VersionedHashRevisionTracker.hh storage/WriteStallWarner.cc storage/WriteStallWarner.hh utils/AssistedThread.hh utils/CommandParsing.hh utils/DirectoryIterator.cc utils/DirectoryIterator.hh utils/FileUtils.cc utils/FileUtils.hh utils/FsyncThread.cc utils/FsyncThread.hh utils/IntToBinaryString.hh utils/ParseUtils.hh utils/Random.cc utils/Random.hh utils/RequestCounter.cc utils/RequestCounter.hh utils/Resilvering.cc utils/Resilvering.hh utils/ScopedAdder.hh utils/StaticBuffer.hh utils/Statistics.cc utils/Statistics.hh utils/StringUtils.cc utils/StringUtils.hh utils/TimeFormatting.cc utils/TimeFormatting.hh utils/Uuid.hh utils/VectorUtils.hh ${BACKWARD_ENABLE} ) if(XROOTD_JEMALLOC AND NOT BUILDING_WITH_TSAN) set(JEMALLOC_LIBS jemalloc) else() set(JEMALLOC_LIBS "") endif() target_link_libraries(XrdQuarkDB PUBLIC qclient-no-folly OPENSSL::SSL ZLIB::ZLIB LZ4::LZ4 BZip2::BZip2 ZSTD::ZSTD UUID::UUID XROOTD::CL XROOTD::UTILS ROCKSDB::ROCKSDB Backward::Backward Threads::Threads ${JEMALLOC_LIBS} ${GCOV_LIBS} ) install( TARGETS XrdQuarkDB LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} )