foundationdb/fdbserver/CMakeLists.txt

368 lines
11 KiB
CMake
Raw Normal View History

2018-05-04 06:48:10 +08:00
set(FDBSERVER_SRCS
ApplyMetadataMutation.h
ApplyMetadataMutation.cpp
BackupInterface.h
BackupProgress.actor.cpp
BackupProgress.actor.h
BackupWorker.actor.cpp
BlobManager.actor.cpp
BlobManagerInterface.h
BlobWorker.actor.cpp
ClusterController.actor.h
2018-05-04 06:48:10 +08:00
ClusterController.actor.cpp
ClusterRecovery.actor.h
ClusterRecovery.actor.cpp
2021-05-12 07:57:05 +08:00
ConfigBroadcaster.actor.cpp
ConfigBroadcaster.h
2021-05-14 02:22:25 +08:00
ConfigDatabaseUnitTests.actor.cpp
ConfigFollowerInterface.cpp
ConfigFollowerInterface.h
ConfigNode.actor.cpp
ConfigNode.h
2018-05-04 06:48:10 +08:00
ConflictSet.h
CoordinatedState.actor.cpp
CoordinatedState.h
Coordination.actor.cpp
CoordinationInterface.h
CoroFlow.h
DataDistribution.actor.cpp
2019-03-06 02:29:37 +08:00
DataDistribution.actor.h
2018-05-04 06:48:10 +08:00
DataDistributionQueue.actor.cpp
DataDistributionTracker.actor.cpp
2019-01-18 01:47:14 +08:00
DataDistributorInterface.h
2018-05-04 06:48:10 +08:00
DBCoreState.h
DDTeamCollection.actor.cpp
DDTeamCollection.h
2018-05-04 06:48:10 +08:00
DiskQueue.actor.cpp
EncryptKeyProxyInterface.h
EncryptKeyProxy.actor.cpp
2018-05-04 06:48:10 +08:00
fdbserver.actor.cpp
FDBExecHelper.actor.cpp
FDBExecHelper.actor.h
2020-07-15 15:37:41 +08:00
GrvProxyServer.actor.cpp
IConfigConsumer.cpp
2021-05-12 07:57:05 +08:00
IConfigConsumer.h
2018-05-04 06:48:10 +08:00
IDiskQueue.h
IKeyValueContainer.h
2018-05-04 06:48:10 +08:00
IKeyValueStore.h
2018-12-14 07:52:27 +08:00
IPager.h
2018-05-04 06:48:10 +08:00
KeyValueStoreCompressTestData.actor.cpp
KeyValueStoreMemory.actor.cpp
2020-06-16 00:45:36 +08:00
KeyValueStoreRocksDB.actor.cpp
2018-05-04 06:48:10 +08:00
KeyValueStoreSQLite.actor.cpp
ServerCheckpoint.actor.cpp
ServerCheckpoint.actor.h
RocksDBCheckpointUtils.actor.cpp
RocksDBCheckpointUtils.actor.h
2018-05-04 06:48:10 +08:00
Knobs.h
2019-02-15 00:08:44 +08:00
LatencyBandConfig.cpp
LatencyBandConfig.h
2018-05-04 06:48:10 +08:00
LeaderElection.actor.cpp
LeaderElection.h
LocalConfiguration.actor.cpp
LocalConfiguration.h
2018-05-04 06:48:10 +08:00
LogProtocolMessage.h
LogRouter.actor.cpp
LogSystem.cpp
2018-05-04 06:48:10 +08:00
LogSystem.h
LogSystemConfig.cpp
2018-05-04 06:48:10 +08:00
LogSystemConfig.h
LogSystemDiskQueueAdapter.actor.cpp
LogSystemDiskQueueAdapter.h
LogSystemPeekCursor.actor.cpp
MasterInterface.h
MetricLogger.actor.cpp
MetricLogger.actor.h
2020-09-11 08:44:15 +08:00
CommitProxyServer.actor.cpp
2018-05-04 06:48:10 +08:00
masterserver.actor.cpp
2020-03-27 19:16:15 +08:00
MutationTracking.h
MutationTracking.cpp
MoveKeys.actor.h
2020-03-27 19:16:15 +08:00
MoveKeys.actor.cpp
2018-05-04 06:48:10 +08:00
networktest.actor.cpp
NetworkTest.h
OldTLogServer_4_6.actor.cpp
OldTLogServer_6_0.actor.cpp
OldTLogServer_6_2.actor.cpp
OnDemandStore.actor.cpp
OnDemandStore.h
PaxosConfigConsumer.actor.cpp
PaxosConfigConsumer.h
ProxyCommitData.actor.h
2018-05-04 06:48:10 +08:00
pubsub.actor.cpp
pubsub.h
QuietDatabase.actor.cpp
QuietDatabase.h
2020-11-16 03:35:42 +08:00
RadixTree.h
Ratekeeper.h
2018-05-04 06:48:10 +08:00
Ratekeeper.actor.cpp
RatekeeperInterface.h
2018-05-04 06:48:10 +08:00
RecoveryState.h
2019-05-17 10:42:44 +08:00
RestoreCommon.actor.h
RestoreCommon.actor.cpp
RestoreUtil.h
RestoreUtil.actor.cpp
RestoreRoleCommon.actor.h
RestoreRoleCommon.actor.cpp
RestoreController.actor.h
RestoreController.actor.cpp
2019-05-17 10:42:44 +08:00
RestoreApplier.actor.h
RestoreApplier.actor.cpp
RestoreLoader.actor.h
RestoreLoader.actor.cpp
RestoreWorker.actor.h
RestoreWorker.actor.cpp
RestoreWorkerInterface.actor.cpp
RestoreWorkerInterface.actor.h
2018-05-04 06:48:10 +08:00
Resolver.actor.cpp
ResolverInterface.h
RoleLineage.actor.h
RoleLineage.actor.cpp
2020-05-02 11:15:31 +08:00
ServerDBInfo.actor.h
2018-05-04 06:48:10 +08:00
ServerDBInfo.h
SigStack.cpp
SimEncryptVaultProxy.actor.h
SimEncryptVaultProxy.actor.cpp
2021-05-12 07:57:05 +08:00
SimpleConfigConsumer.actor.cpp
SimpleConfigConsumer.h
2018-05-04 06:48:10 +08:00
SimulatedCluster.actor.cpp
SimulatedCluster.h
SkipList.cpp
2020-08-28 06:11:16 +08:00
SpanContextMessage.h
2018-05-04 06:48:10 +08:00
Status.actor.cpp
Status.h
2019-11-13 05:01:29 +08:00
StorageCache.actor.cpp
2018-05-04 06:48:10 +08:00
StorageMetrics.actor.h
StorageMetrics.h
storageserver.actor.cpp
TagPartitionedLogSystem.actor.cpp
TagPartitionedLogSystem.actor.h
2022-02-15 08:03:37 +08:00
TagThrottler.actor.cpp
TagThrottler.h
2018-05-04 06:48:10 +08:00
template_fdb.h
2022-02-05 02:59:01 +08:00
TCInfo.actor.cpp
TCInfo.h
2018-05-04 06:48:10 +08:00
tester.actor.cpp
TesterInterface.actor.h
2018-05-04 06:48:10 +08:00
TLogInterface.h
TLogServer.actor.cpp
2021-06-03 23:31:16 +08:00
TSSMappingUtil.actor.h
2021-05-29 02:15:52 +08:00
TSSMappingUtil.actor.cpp
2018-12-14 07:52:27 +08:00
VersionedBTree.actor.cpp
VFSAsync.h
2018-05-04 06:48:10 +08:00
VFSAsync.cpp
WaitFailure.actor.cpp
WaitFailure.h
worker.actor.cpp
WorkerInterface.actor.h
2018-05-04 06:48:10 +08:00
workloads/ApiCorrectness.actor.cpp
workloads/ApiWorkload.actor.cpp
workloads/ApiWorkload.h
workloads/AsyncFile.actor.h
workloads/AsyncFile.cpp
workloads/AsyncFileCorrectness.actor.cpp
workloads/AsyncFileRead.actor.cpp
workloads/AsyncFileWrite.actor.cpp
workloads/AtomicOps.actor.cpp
workloads/AtomicOpsApiCorrectness.actor.cpp
workloads/AtomicRestore.actor.cpp
workloads/AtomicSwitchover.actor.cpp
workloads/BackgroundSelectors.actor.cpp
workloads/BackupCorrectness.actor.cpp
2019-05-17 10:42:44 +08:00
workloads/BackupAndParallelRestoreCorrectness.actor.cpp
2021-07-11 07:55:30 +08:00
workloads/ClogSingleConnection.actor.cpp
2021-08-03 05:03:20 +08:00
workloads/ConfigIncrement.actor.cpp
workloads/BackupToBlob.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/BackupToDBAbort.actor.cpp
workloads/BackupToDBCorrectness.actor.cpp
workloads/BackupToDBUpgrade.actor.cpp
2020-12-25 09:57:53 +08:00
workloads/BlobStoreWorkload.h
workloads/BlobGranuleVerifier.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/BulkLoad.actor.cpp
workloads/BulkSetup.actor.h
2020-02-25 09:26:20 +08:00
workloads/Cache.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/ChangeConfig.actor.cpp
2021-07-21 06:28:46 +08:00
workloads/ClearSingleRange.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/ClientTransactionProfileCorrectness.actor.cpp
workloads/TriggerRecovery.actor.cpp
workloads/SuspendProcesses.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/CommitBugCheck.actor.cpp
workloads/ConfigureDatabase.actor.cpp
workloads/ConflictRange.actor.cpp
workloads/ConsistencyCheck.actor.cpp
workloads/CpuProfiler.actor.cpp
workloads/Cycle.actor.cpp
workloads/ChangeFeeds.actor.cpp
workloads/DataDistributionMetrics.actor.cpp
workloads/DataLossRecovery.actor.cpp
workloads/PhysicalShardMove.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/DDBalance.actor.cpp
workloads/DDMetrics.actor.cpp
workloads/DDMetricsExclude.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/DiskDurability.actor.cpp
workloads/DiskDurabilityTest.actor.cpp
workloads/DiskFailureInjection.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/DummyWorkload.actor.cpp
workloads/EncryptionOps.actor.cpp
2019-06-06 04:24:06 +08:00
workloads/ExternalWorkload.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/FastTriggeredWatches.actor.cpp
workloads/FileSystem.actor.cpp
workloads/Fuzz.cpp
workloads/FuzzApiCorrectness.actor.cpp
workloads/GetRangeStream.actor.cpp
workloads/HealthMetricsApi.actor.cpp
workloads/HighContentionPrefixAllocatorWorkload.actor.cpp
workloads/IncrementalBackup.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/Increment.actor.cpp
workloads/IndexScan.actor.cpp
workloads/Inventory.actor.cpp
workloads/KVStoreTest.actor.cpp
workloads/KillRegion.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/LockDatabase.actor.cpp
2020-08-19 04:41:55 +08:00
workloads/LockDatabaseFrequently.actor.cpp
2019-03-14 12:27:23 +08:00
workloads/LocalRatekeeper.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/LogMetrics.actor.cpp
workloads/LowLatency.actor.cpp
workloads/MachineAttrition.actor.cpp
2019-05-10 06:35:30 +08:00
workloads/Mako.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/MemoryKeyValueStore.cpp
workloads/MemoryKeyValueStore.h
workloads/MemoryLifetime.actor.cpp
workloads/MetricLogging.actor.cpp
2021-11-05 05:34:14 +08:00
workloads/MiniCycle.actor.cpp
workloads/MutationLogReaderCorrectness.actor.cpp
workloads/GetMappedRange.actor.cpp
2021-07-11 07:55:30 +08:00
workloads/ParallelRestore.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/Performance.actor.cpp
workloads/Ping.actor.cpp
2020-04-04 02:33:24 +08:00
workloads/PopulateTPCC.actor.cpp
workloads/ProtocolVersion.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/PubSubMultiples.actor.cpp
workloads/QueuePush.actor.cpp
workloads/RandomClogging.actor.cpp
workloads/RandomMoveKeys.actor.cpp
workloads/RandomSelector.actor.cpp
workloads/ReadAfterWrite.actor.cpp
2020-12-25 09:57:53 +08:00
workloads/ReadHotDetection.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/ReadWrite.actor.cpp
workloads/RemoveServersSafely.actor.cpp
workloads/ReportConflictingKeys.actor.cpp
2020-10-05 09:11:04 +08:00
workloads/RestoreBackup.actor.cpp
workloads/RestoreFromBlob.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/Rollback.actor.cpp
workloads/RyowCorrectness.actor.cpp
workloads/RYWDisable.actor.cpp
workloads/RYWPerformance.actor.cpp
workloads/SaveAndKill.actor.cpp
workloads/SelectorCorrectness.actor.cpp
workloads/Serializability.actor.cpp
workloads/Sideband.actor.cpp
workloads/SidebandSingle.actor.cpp
workloads/SimpleAtomicAdd.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/SlowTaskWorkload.actor.cpp
workloads/SnapTest.actor.cpp
2020-03-10 01:45:57 +08:00
workloads/SpecialKeySpaceCorrectness.actor.cpp
workloads/StreamingRangeRead.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/StatusWorkload.actor.cpp
workloads/Storefront.actor.cpp
workloads/StreamingRead.actor.cpp
2020-10-05 09:11:04 +08:00
workloads/SubmitBackup.actor.cpp
2020-05-05 01:15:18 +08:00
workloads/TagThrottleApi.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/TargetedKill.actor.cpp
workloads/TaskBucketCorrectness.actor.cpp
workloads/ThreadSafety.actor.cpp
workloads/Throttling.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/Throughput.actor.cpp
workloads/TimeKeeperCorrectness.actor.cpp
2020-04-04 02:33:24 +08:00
workloads/TPCC.actor.cpp
workloads/TPCCWorkload.h
workloads/DifferentClustersSameRV.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/UnitPerf.actor.cpp
workloads/UnitTests.actor.cpp
workloads/Unreadable.actor.cpp
2020-08-07 04:06:50 +08:00
workloads/UDPWorkload.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/VersionStamp.actor.cpp
workloads/WatchAndWait.actor.cpp
workloads/Watches.actor.cpp
2021-02-10 01:32:37 +08:00
workloads/WatchesSameKeyCorrectness.actor.cpp
2018-05-04 06:48:10 +08:00
workloads/WorkerErrors.actor.cpp
workloads/workloads.actor.h
2018-05-04 06:48:10 +08:00
workloads/WriteBandwidth.actor.cpp
workloads/WriteDuringRead.actor.cpp
workloads/WriteTagThrottling.actor.cpp
)
2018-05-04 06:48:10 +08:00
if(${COROUTINE_IMPL} STREQUAL libcoro)
list(APPEND FDBSERVER_SRCS CoroFlowCoro.actor.cpp)
else()
list(APPEND FDBSERVER_SRCS CoroFlow.actor.cpp)
endif()
add_library(fdb_sqlite STATIC
2019-04-05 00:59:08 +08:00
sqlite/btree.h
sqlite/hash.h
sqlite/sqlite3.h
sqlite/sqlite3ext.h
sqlite/sqliteInt.h
sqlite/sqliteLimit.h
sqlite/sqlite3.amalgamation.c)
2020-06-11 05:07:49 +08:00
if (WITH_ROCKSDB_EXPERIMENTAL)
2020-06-04 04:32:39 +08:00
add_definitions(-DSSD_ROCKSDB_EXPERIMENTAL)
2020-06-06 06:58:45 +08:00
include(CompileRocksDB)
2020-10-07 02:22:03 +08:00
# CompileRocksDB sets `lz4_LIBRARIES` to be the shared lib, we want to link
# statically, so find the static library here.
find_library(lz4_STATIC_LIBRARIES
NAMES liblz4.a REQUIRED)
if (WITH_LIBURING)
find_package(uring)
endif()
2020-06-04 04:32:39 +08:00
endif()
2020-05-22 23:02:51 +08:00
2019-04-10 02:16:45 +08:00
# Suppress warnings in sqlite since it's third party
if(NOT WIN32)
2019-04-17 08:43:46 +08:00
target_compile_definitions(fdb_sqlite PRIVATE $<$<CONFIG:Debug>:NDEBUG>)
target_compile_options(fdb_sqlite BEFORE PRIVATE -w) # disable warnings for third party
endif()
2018-05-04 06:48:10 +08:00
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/workloads)
add_flow_target(EXECUTABLE NAME fdbserver SRCS ${FDBSERVER_SRCS})
2020-06-04 04:32:39 +08:00
2018-05-04 06:48:10 +08:00
target_include_directories(fdbserver PRIVATE
2019-06-06 04:24:06 +08:00
${CMAKE_SOURCE_DIR}/bindings/c
${CMAKE_BINARY_DIR}/bindings/c
2018-05-04 06:48:10 +08:00
${CMAKE_CURRENT_BINARY_DIR}/workloads
${CMAKE_CURRENT_SOURCE_DIR}/workloads)
2020-06-11 05:07:49 +08:00
if (WITH_ROCKSDB_EXPERIMENTAL)
2020-06-11 04:53:53 +08:00
add_dependencies(fdbserver rocksdb)
if(WITH_LIBURING)
target_include_directories(fdbserver PRIVATE ${ROCKSDB_INCLUDE_DIR} ${uring_INCLUDE_DIR})
target_link_libraries(fdbserver PRIVATE fdbclient fdb_sqlite ${ROCKSDB_LIBRARIES} ${uring_LIBRARIES} ${lz4_STATIC_LIBRARIES})
target_compile_definitions(fdbserver PRIVATE BOOST_ASIO_HAS_IO_URING=1 BOOST_ASIO_DISABLE_EPOLL=1)
else()
target_include_directories(fdbserver PRIVATE ${ROCKSDB_INCLUDE_DIR})
target_link_libraries(fdbserver PRIVATE fdbclient fdb_sqlite ${ROCKSDB_LIBRARIES} ${lz4_STATIC_LIBRARIES})
target_compile_definitions(fdbserver PRIVATE)
endif()
2020-06-04 04:32:39 +08:00
else()
target_link_libraries(fdbserver PRIVATE fdbclient fdb_sqlite)
endif()
target_link_libraries(fdbserver PRIVATE toml11_target jemalloc)
# target_compile_definitions(fdbserver PRIVATE -DENABLE_SAMPLING)
if (GPERFTOOLS_FOUND)
target_link_libraries(fdbserver PRIVATE gperftools)
endif()
2018-05-04 06:48:10 +08:00
if(NOT OPEN_FOR_IDE)
if(GENERATE_DEBUG_PACKAGES)
fdb_install(TARGETS fdbserver DESTINATION sbin COMPONENT server)
else()
add_custom_target(prepare_fdbserver_install ALL DEPENDS strip_only_fdbserver)
fdb_install(PROGRAMS ${CMAKE_BINARY_DIR}/packages/bin/fdbserver DESTINATION sbin COMPONENT server)
endif()
endif()