1
0
Fork 0
arangodb/arangod/CMakeLists.txt

726 lines
22 KiB
CMake

#- * - mode : CMAKE; - * -
include_directories(.)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin/")
################################################################################
## BISON/FLEX
################################################################################
#note that we check - in the generated FLEX / BISON files, therefore they are
#generate inside the source tree
if (USE_MAINTAINER_MODE AND NOT MSVC)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/Aql/tokens.cpp
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMAND ${FLEX_EXECUTABLE} -L -oAql/tokens.cpp Aql/tokens.ll
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/Aql/tokens.ll
VERBATIM
)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/Aql/grammar.cpp
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMAND ${CMAKE_SOURCE_DIR}/utils/bison-c.sh
${BISON_EXECUTABLE} Aql/grammar.cpp Aql/grammar.y
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/Aql/grammar.y
VERBATIM
)
add_custom_target(clean_aql_autogenerated
COMMAND rm -f Aql/tokens.cpp Aql/tokens.h Aql/grammar.cpp Aql/grammar.h
)
list(APPEND CLEAN_AUTOGENERATED_FILES clean_aql_autogenerated)
set(CLEAN_AUTOGENERATED_FILES ${CLEAN_AUTOGENERATED_FILES} PARENT_SCOPE)
endif ()
if (CMAKE_COMPILER_IS_GNUCC)
set_source_files_properties(Aql/tokens.cpp PROPERTIES COMPILE_FLAGS -Wno-sign-compare)
endif ()
################################################################################
## IResearch
################################################################################
find_package(IResearch REQUIRED)
add_library(${LIB_ARANGO_IRESEARCH}
STATIC
IResearch/ApplicationServerHelper.h IResearch/ApplicationServerHelper.cpp
IResearch/Containers.cpp IResearch/Containers.h
IResearch/IResearchAnalyzerFeature.cpp IResearch/IResearchAnalyzerFeature.h
IResearch/IResearchAnalyzerCollectionFeature.cpp
IResearch/IResearchCommon.cpp IResearch/IResearchCommon.h
IResearch/IResearchKludge.cpp IResearch/IResearchKludge.h
IResearch/IResearchLink.cpp IResearch/IResearchLink.h
IResearch/IResearchLinkCoordinator.cpp IResearch/IResearchLinkCoordinator.h
IResearch/IResearchLinkHelper.cpp IResearch/IResearchLinkHelper.h
IResearch/IResearchLinkMeta.cpp IResearch/IResearchLinkMeta.h
IResearch/IResearchMMFilesLink.cpp IResearch/IResearchMMFilesLink.h
IResearch/IResearchRocksDBLink.cpp IResearch/IResearchRocksDBLink.h
IResearch/IResearchRocksDBRecoveryHelper.cpp
IResearch/IResearchRocksDBRecoveryHelper.h
IResearch/IResearchView.cpp IResearch/IResearchView.h
IResearch/IResearchVPackComparer.cpp IResearch/IResearchVPackComparer.h
IResearch/IResearchViewSort.cpp IResearch/IResearchViewSort.h
IResearch/IResearchViewCoordinator.cpp IResearch/IResearchViewCoordinator.h
IResearch/IResearchExpressionContext.cpp IResearch/IResearchExpressionContext.h
IResearch/IResearchViewMeta.cpp IResearch/IResearchViewMeta.h
IResearch/IResearchFeature.cpp IResearch/IResearchFeature.h
IResearch/IResearchDocument.cpp IResearch/IResearchDocument.h
IResearch/IResearchPrimaryKeyFilter.cpp IResearch/IResearchPrimaryKeyFilter.h
IResearch/IResearchFilterFactory.cpp IResearch/IResearchFilterFactory.h
IResearch/IResearchOrderFactory.cpp IResearch/IResearchOrderFactory.h
IResearch/VelocyPackHelper.cpp IResearch/VelocyPackHelper.h
IResearch/ExpressionFilter.cpp IResearch/ExpressionFilter.h
IResearch/AqlHelper.cpp IResearch/AqlHelper.h
RestHandler/RestAnalyzerHandler.cpp RestHandler/RestAnalyzerHandler.h
V8Server/v8-analyzers.cpp V8Server/v8-analyzers.h
)
target_compile_definitions(${LIB_ARANGO_IRESEARCH}
PUBLIC "$<$<CONFIG:Debug>:IRESEARCH_DEBUG=1>"
)
target_include_directories(${LIB_ARANGO_IRESEARCH}
PUBLIC ${IRESEARCH_INCLUDE}
)
if (USE_ENTERPRISE)
target_include_directories(${LIB_ARANGO_IRESEARCH}
PUBLIC "${PROJECT_SOURCE_DIR}/${ENTERPRISE_INCLUDE_DIR}"
)
endif()
if(MSVC)
set(IRESEARCH_TARGET_DEPENDENCY iresearch-static-scrt) # use static + staticCRT to match ArangoDB
else()
set(IRESEARCH_TARGET_DEPENDENCY iresearch-static) # use static to match ArangoDB
endif()
target_link_libraries(${LIB_ARANGO_IRESEARCH}
${IRESEARCH_TARGET_DEPENDENCY}
s2 # needed for some includes
boost_locale # required by iResearch
)
add_dependencies(${LIB_ARANGO_IRESEARCH}
${IRESEARCH_TARGET_DEPENDENCY}
v8_build # for ICU required by iResearch
)
################################################################################
## arangod
################################################################################
if (MSVC AND NOT(SKIP_PACKAGING))
generate_product_version(ProductVersionFiles
NAME arangod
FILE_DESCRIPTION ${ARANGODB_FRIENDLY_STRING}
ICON ${ARANGO_ICON}
VERSION_MAJOR ${CPACK_PACKAGE_VERSION_MAJOR}
VERSION_MINOR ${CPACK_PACKAGE_VERSION_MINOR}
VERSION_PATCH ${CPACK_PACKAGE_VERSION_PATCH}
VERSION_REVISION ${BUILD_ID}
)
endif ()
if (USE_ENTERPRISE)
set(ENTERPRISE_FILES "")
else ()
set(ENTERPRISE_FILES
Utils/Events.cpp
)
endif ()
SET(ARANGOD_SOURCES
${ProductVersionFiles}
${ENTERPRISE_FILES}
Actions/ActionFeature.cpp
Actions/RestActionHandler.cpp
Actions/actions.cpp
Agency/ActiveFailoverJob.cpp
Agency/AddFollower.cpp
Agency/AgencyComm.cpp
Agency/AgencyFeature.cpp
Agency/Agent.cpp
Agency/AgentCallback.cpp
Agency/AgentConfiguration.cpp
Agency/CleanOutServer.cpp
Agency/Compactor.cpp
Agency/Constituent.cpp
Agency/FailedFollower.cpp
Agency/FailedLeader.cpp
Agency/FailedServer.cpp
Agency/GossipCallback.cpp
Agency/Inception.cpp
Agency/Job.cpp
Agency/JobContext.cpp
Agency/MoveShard.cpp
Agency/Node.cpp
Agency/RemoveFollower.cpp
Agency/ResignLeadership.cpp
Agency/RestAgencyHandler.cpp
Agency/RestAgencyPrivHandler.cpp
Agency/State.cpp
Agency/Store.cpp
Agency/StoreCallback.cpp
Agency/Supervision.cpp
Agency/v8-agency.cpp
Aql/Aggregator.cpp
Aql/AllRowsFetcher.cpp
Aql/AqlFunctionFeature.cpp
Aql/AqlItemBlock.cpp
Aql/AqlItemBlockManager.cpp
Aql/AqlItemBlockUtils.cpp
Aql/AqlResult.cpp
Aql/AqlTransaction.cpp
Aql/AqlValue.cpp
Aql/Arithmetic.cpp
Aql/Ast.cpp
Aql/AstNode.cpp
Aql/AttributeAccessor.cpp
Aql/BaseExpressionContext.cpp
Aql/BindParameters.cpp
Aql/BlockCollector.cpp
Aql/CalculationExecutor.cpp
Aql/BlocksWithClients.cpp
Aql/ClusterNodes.cpp
Aql/CollectNode.cpp
Aql/CollectOptions.cpp
Aql/Collection.cpp
Aql/CollectionAccessingNode.cpp
Aql/Collections.cpp
Aql/Condition.cpp
Aql/ConditionFinder.cpp
Aql/ConstFetcher.cpp
Aql/ConstrainedSortExecutor.cpp
Aql/CountCollectExecutor.cpp
Aql/DependencyProxy.cpp
Aql/DistinctCollectExecutor.cpp
Aql/DistributeExecutor.cpp
Aql/DocumentProducingNode.cpp
Aql/EngineInfoContainerCoordinator.cpp
Aql/EngineInfoContainerDBServer.cpp
Aql/EnumerateCollectionExecutor.cpp
Aql/EnumerateListExecutor.cpp
Aql/ExecutionBlock.cpp
Aql/ExecutionBlockImpl.cpp
Aql/ExecutionEngine.cpp
Aql/ExecutionNode.cpp
Aql/ExecutionPlan.cpp
Aql/ExecutionState.cpp
Aql/ExecutionStats.cpp
Aql/ExecutorExpressionContext.cpp
Aql/ExecutorInfos.cpp
Aql/Expression.cpp
Aql/FilterExecutor.cpp
Aql/FixedVarExpressionContext.cpp
Aql/Function.cpp
Aql/Functions.cpp
Aql/GraphNode.cpp
Aql/Graphs.cpp
Aql/HashedCollectExecutor.cpp
Aql/IResearchViewExecutor.cpp
Aql/IResearchViewNode.cpp
Aql/IResearchViewOptimizerRules.cpp
Aql/IdExecutor.cpp
Aql/InAndOutRowExpressionContext.cpp
Aql/IndexExecutor.cpp
Aql/IndexHint.cpp
Aql/IndexNode.cpp
Aql/InputAqlItemRow.cpp
Aql/KShortestPathsExecutor.cpp
Aql/KShortestPathsNode.cpp
Aql/LimitExecutor.cpp
Aql/ModificationExecutor.cpp
Aql/ModificationExecutorTraits.cpp
Aql/ModificationNodes.cpp
Aql/ModificationOptions.cpp
Aql/MultiDependencySingleRowFetcher.cpp
Aql/NoResultsExecutor.cpp
Aql/NodeFinder.cpp
Aql/Optimizer.cpp
Aql/OptimizerRules.cpp
Aql/OptimizerRulesCluster.cpp
Aql/OptimizerRulesFeature.cpp
Aql/OptimizerRulesReplaceFunctions.cpp
Aql/OutputAqlItemRow.cpp
Aql/Parser.cpp
Aql/PlanCache.cpp
Aql/PruneExpressionEvaluator.cpp
Aql/Quantifier.cpp
Aql/Query.cpp
Aql/QueryCache.cpp
Aql/QueryCursor.cpp
Aql/QueryExecutionState.cpp
Aql/QueryExpressionContext.cpp
Aql/QueryList.cpp
Aql/QueryOptions.cpp
Aql/QueryProfile.cpp
Aql/QueryRegistry.cpp
Aql/QueryResources.cpp
Aql/QueryString.cpp
Aql/Range.cpp
Aql/RegexCache.cpp
Aql/RemoteExecutor.cpp
Aql/RestAqlHandler.cpp
Aql/ReturnExecutor.cpp
Aql/ScatterExecutor.cpp
Aql/Scopes.cpp
Aql/SharedAqlItemBlockPtr.cpp
Aql/SharedQueryState.cpp
Aql/ShortStringStorage.cpp
Aql/ShortestPathExecutor.cpp
Aql/ShortestPathNode.cpp
Aql/SingleRemoteModificationExecutor.cpp
Aql/SingleRowFetcher.cpp
Aql/SortCondition.cpp
Aql/SortedCollectExecutor.cpp
Aql/SortExecutor.cpp
Aql/SortNode.cpp
Aql/SortingGatherExecutor.cpp
Aql/SortRegister.cpp
Aql/SubqueryExecutor.cpp
Aql/TraversalExecutor.cpp
Aql/TraversalConditionFinder.cpp
Aql/TraversalNode.cpp
Aql/V8Executor.cpp
Aql/Variable.cpp
Aql/VariableGenerator.cpp
Aql/WakeupQueryCallback.cpp
Aql/grammar.cpp
Aql/tokens.cpp
Auth/Common.cpp
Auth/TokenCache.cpp
Auth/User.cpp
Auth/UserManager.cpp
Cache/BucketState.cpp
Cache/Cache.cpp
Cache/CacheManagerFeature.cpp
Cache/CacheManagerFeatureThreads.cpp
Cache/CachedValue.cpp
Cache/Finding.cpp
Cache/Manager.cpp
Cache/ManagerTasks.cpp
Cache/Metadata.cpp
Cache/PlainBucket.cpp
Cache/PlainCache.cpp
Cache/Rebalancer.cpp
Cache/Table.cpp
Cache/Transaction.cpp
Cache/TransactionManager.cpp
Cache/TransactionalBucket.cpp
Cache/TransactionalCache.cpp
Cluster/Action.cpp
Cluster/ActionBase.cpp
Cluster/ActionDescription.cpp
Cluster/AgencyCallback.cpp
Cluster/AgencyCallbackRegistry.cpp
Cluster/ClusterCollectionCreationInfo.cpp
Cluster/ClusterComm.cpp
Cluster/ClusterEdgeCursor.cpp
Cluster/ClusterFeature.cpp
Cluster/ClusterHelpers.cpp
Cluster/ClusterInfo.cpp
Cluster/ClusterMethods.cpp
Cluster/ClusterRepairDistributeShardsLike.cpp
Cluster/ClusterRepairOperations.cpp
Cluster/ClusterTraverser.cpp
Cluster/ClusterTrxMethods.cpp
Cluster/ClusterTypes.cpp
Cluster/CreateCollection.cpp
Cluster/CreateDatabase.cpp
Cluster/CriticalThread.cpp
Cluster/DBServerAgencySync.cpp
Cluster/DropCollection.cpp
Cluster/DropDatabase.cpp
Cluster/DropIndex.cpp
Cluster/EnsureIndex.cpp
Cluster/FollowerInfo.cpp
Cluster/FollowerInfo.cpp
Cluster/HeartbeatThread.cpp
Cluster/Maintenance.cpp
Cluster/MaintenanceFeature.cpp
Cluster/MaintenanceRestHandler.cpp
Cluster/MaintenanceWorker.cpp
Cluster/NonAction.cpp
Cluster/RebootTracker.cpp
Cluster/ReplicationTimeoutFeature.cpp
Cluster/ResignShardLeadership.cpp
Cluster/RestAgencyCallbacksHandler.cpp
Cluster/RestClusterHandler.cpp
Cluster/ServerState.cpp
Cluster/SynchronizeShard.cpp
Cluster/TakeoverShardLeadership.cpp
Cluster/TraverserEngine.cpp
Cluster/TraverserEngineRegistry.cpp
Cluster/UpdateCollection.cpp
Cluster/v8-cluster.cpp
GeneralServer/Acceptor.cpp
GeneralServer/AcceptorTcp.cpp
GeneralServer/AsyncJobManager.cpp
GeneralServer/AuthenticationFeature.cpp
GeneralServer/GeneralCommTask.cpp
GeneralServer/GeneralServer.cpp
GeneralServer/GeneralServerFeature.cpp
GeneralServer/HttpCommTask.cpp
GeneralServer/ListenTask.cpp
GeneralServer/RestHandler.cpp
GeneralServer/RestHandlerFactory.cpp
GeneralServer/ServerSecurityFeature.cpp
GeneralServer/SocketSslTcp.cpp
GeneralServer/SocketTask.cpp
GeneralServer/Task.cpp
GeneralServer/VstCommTask.cpp
GeoIndex/Index.cpp
GeoIndex/Near.cpp
Graph/AttributeWeightShortestPathFinder.cpp
Graph/BaseOptions.cpp
Graph/BreadthFirstEnumerator.cpp
Graph/ClusterTraverserCache.cpp
Graph/ConstantWeightShortestPathFinder.cpp
Graph/Graph.cpp
Graph/GraphManager.cpp
Graph/GraphOperations.cpp
Graph/KShortestPathsFinder.cpp
Graph/NeighborsEnumerator.cpp
Graph/PathEnumerator.cpp
Graph/ShortestPathFinder.cpp
Graph/ShortestPathOptions.cpp
Graph/ShortestPathResult.cpp
Graph/SingleServerEdgeCursor.cpp
Graph/SingleServerTraverser.cpp
Graph/Traverser.cpp
Graph/TraverserCache.cpp
Graph/TraverserCacheFactory.cpp
Graph/TraverserDocumentCache.cpp
Graph/TraverserOptions.cpp
Indexes/Index.cpp
Indexes/IndexFactory.cpp
Indexes/IndexIterator.cpp
Indexes/SimpleAttributeEqualityMatcher.cpp
Indexes/SortedIndexAttributeMatcher.cpp
InternalRestHandler/InternalRestTraverserHandler.cpp
Pregel/AggregatorHandler.cpp
Pregel/AlgoRegistry.cpp
Pregel/Algos/AsyncSCC.cpp
Pregel/Algos/ConnectedComponents.cpp
Pregel/Algos/DMID/DMID.cpp
Pregel/Algos/EffectiveCloseness/EffectiveCloseness.cpp
Pregel/Algos/EffectiveCloseness/HLLCounter.cpp
Pregel/Algos/HITS.cpp
Pregel/Algos/LabelPropagation.cpp
Pregel/Algos/LineRank.cpp
Pregel/Algos/PageRank.cpp
Pregel/Algos/RecoveringPageRank.cpp
Pregel/Algos/SCC.cpp
Pregel/Algos/SLPA.cpp
Pregel/Algos/SSSP.cpp
Pregel/Algos/ShortestPath.cpp
Pregel/Conductor.cpp
Pregel/GraphStore.cpp
Pregel/IncomingCache.cpp
Pregel/IndexHelpers.cpp
Pregel/OutgoingCache.cpp
Pregel/PregelFeature.cpp
Pregel/Recovery.cpp
Pregel/Utils.cpp
Pregel/Worker-templates-algorithms.cpp
Pregel/Worker-templates-native-types.cpp
Pregel/Worker.cpp
Pregel/WorkerConfig.cpp
Replication/DatabaseInitialSyncer.cpp
Replication/DatabaseReplicationApplier.cpp
Replication/DatabaseTailingSyncer.cpp
Replication/GlobalInitialSyncer.cpp
Replication/GlobalInitialSyncer.cpp
Replication/GlobalReplicationApplier.cpp
Replication/GlobalTailingSyncer.cpp
Replication/InitialSyncer.cpp
Replication/ReplicationApplier.cpp
Replication/ReplicationApplierConfiguration.cpp
Replication/ReplicationApplierState.cpp
Replication/ReplicationClients.cpp
Replication/ReplicationFeature.cpp
Replication/Syncer.cpp
Replication/SyncerId.cpp
Replication/TailingSyncer.cpp
Replication/common-defines.cpp
Replication/utilities.cpp
RestHandler/RestAdminDatabaseHandler.cpp
RestHandler/RestAdminExecuteHandler.cpp
RestHandler/RestAdminLogHandler.cpp
RestHandler/RestAdminRoutingHandler.cpp
RestHandler/RestAdminServerHandler.cpp
RestHandler/RestAdminStatisticsHandler.cpp
RestHandler/RestAqlFunctionsHandler.cpp
RestHandler/RestAqlReloadHandler.cpp
RestHandler/RestAqlUserFunctionsHandler.cpp
RestHandler/RestAuthHandler.cpp
RestHandler/RestAuthReloadHandler.cpp
RestHandler/RestBaseHandler.cpp
RestHandler/RestBatchHandler.cpp
RestHandler/RestCollectionHandler.cpp
RestHandler/RestControlPregelHandler.cpp
RestHandler/RestCursorHandler.cpp
RestHandler/RestDatabaseHandler.cpp
RestHandler/RestDebugHandler.cpp
RestHandler/RestDocumentHandler.cpp
RestHandler/RestEdgesHandler.cpp
RestHandler/RestEndpointHandler.cpp
RestHandler/RestEngineHandler.cpp
RestHandler/RestExplainHandler.cpp
RestHandler/RestGraphHandler.cpp
RestHandler/RestImportHandler.cpp
RestHandler/RestIndexHandler.cpp
RestHandler/RestJobHandler.cpp
RestHandler/RestPleaseUpgradeHandler.cpp
RestHandler/RestPregelHandler.cpp
RestHandler/RestQueryCacheHandler.cpp
RestHandler/RestQueryHandler.cpp
RestHandler/RestRepairHandler.cpp
RestHandler/RestReplicationHandler.cpp
RestHandler/RestShutdownHandler.cpp
RestHandler/RestSimpleHandler.cpp
RestHandler/RestSimpleQueryHandler.cpp
RestHandler/RestStatusHandler.cpp
RestHandler/RestTasksHandler.cpp
RestHandler/RestTimeHandler.cpp
RestHandler/RestTransactionHandler.cpp
RestHandler/RestTtlHandler.cpp
RestHandler/RestUploadHandler.cpp
RestHandler/RestUsersHandler.cpp
RestHandler/RestVersionHandler.cpp
RestHandler/RestViewHandler.cpp
RestHandler/RestVocbaseBaseHandler.cpp
RestHandler/RestWalAccessHandler.cpp
RestServer/AqlFeature.cpp
RestServer/BootstrapFeature.cpp
RestServer/CheckVersionFeature.cpp
RestServer/ConsoleFeature.cpp
RestServer/ConsoleThread.cpp
RestServer/DatabaseFeature.cpp
RestServer/DatabasePathFeature.cpp
RestServer/EndpointFeature.cpp
RestServer/FileDescriptorsFeature.cpp
RestServer/FlushFeature.cpp
RestServer/FortuneFeature.cpp
RestServer/FrontendFeature.cpp
RestServer/InitDatabaseFeature.cpp
RestServer/LanguageCheckFeature.cpp
RestServer/LockfileFeature.cpp
RestServer/QueryRegistryFeature.cpp
RestServer/ScriptFeature.cpp
RestServer/ServerFeature.cpp
RestServer/ServerIdFeature.cpp
RestServer/SystemDatabaseFeature.cpp
RestServer/TraverserEngineRegistryFeature.cpp
RestServer/TtlFeature.cpp
RestServer/UpgradeFeature.cpp
RestServer/ViewTypesFeature.cpp
RestServer/VocbaseContext.cpp
Scheduler/Scheduler.cpp
Scheduler/SchedulerFeature.cpp
Scheduler/SupervisedScheduler.cpp
Sharding/ShardDistributionReporter.cpp
Sharding/ShardingFeature.cpp
Sharding/ShardingInfo.cpp
Sharding/ShardingStrategy.cpp
Sharding/ShardingStrategyDefault.cpp
Statistics/ConnectionStatistics.cpp
Statistics/Descriptions.cpp
Statistics/RequestStatistics.cpp
Statistics/ServerStatistics.cpp
Statistics/StatisticsFeature.cpp
Statistics/StatisticsWorker.cpp
StorageEngine/EngineSelectorFeature.cpp
StorageEngine/HotBackup.cpp
StorageEngine/PhysicalCollection.cpp
StorageEngine/TransactionCollection.cpp
StorageEngine/TransactionState.cpp
StorageEngine/WalAccess.cpp
Transaction/ClusterUtils.cpp
Transaction/Context.cpp
Transaction/CountCache.cpp
Transaction/Helpers.cpp
Transaction/Methods.cpp
Transaction/Options.cpp
Transaction/SmartContext.cpp
Transaction/StandaloneContext.cpp
Transaction/Status.cpp
Transaction/Manager.cpp
Transaction/ManagerFeature.cpp
Transaction/V8Context.cpp
Utils/CollectionKeys.cpp
Utils/CollectionKeysRepository.cpp
Utils/CollectionNameResolver.cpp
Utils/CursorRepository.cpp
Utils/DatabaseGuard.cpp
Utils/ExecContext.cpp
Utils/FlushThread.cpp
Utils/OperationCursor.cpp
Utils/SingleCollectionTransaction.cpp
Utils/UrlHelper.cpp
V8Server/FoxxQueuesFeature.cpp
V8Server/V8Context.cpp
V8Server/V8DealerFeature.cpp
V8Server/v8-actions.cpp
V8Server/v8-collection-util.cpp
V8Server/v8-collection.cpp
V8Server/v8-dispatcher.cpp
V8Server/v8-general-graph.cpp
V8Server/v8-query.cpp
V8Server/v8-replication.cpp
V8Server/v8-statistics.cpp
V8Server/v8-ttl.cpp
V8Server/v8-user-functions.cpp
V8Server/v8-user-structures.cpp
V8Server/v8-users.cpp
V8Server/v8-util.cpp
V8Server/v8-views.cpp
V8Server/v8-vocbase.cpp
V8Server/v8-voccursor.cpp
V8Server/v8-vocindex.cpp
VocBase/KeyGenerator.cpp
VocBase/KeyLockInfo.cpp
VocBase/LogicalCollection.cpp
VocBase/LogicalDataSource.cpp
VocBase/LogicalView.cpp
VocBase/ManagedDocumentResult.cpp
VocBase/Methods/AqlUserFunctions.cpp
VocBase/Methods/Collections.cpp
VocBase/Methods/Databases.cpp
VocBase/Methods/Indexes.cpp
VocBase/Methods/Tasks.cpp
VocBase/Methods/Transactions.cpp
VocBase/Methods/Ttl.cpp
VocBase/Methods/Upgrade.cpp
VocBase/Methods/UpgradeTasks.cpp
VocBase/Methods/Version.cpp
VocBase/ticks.cpp
VocBase/vocbase.cpp
${ADDITIONAL_BIN_ARANGOD_SOURCES}
)
if (USE_MAINTAINER_MODE)
set(ARANGOD_SOURCES ${ARANGOD_SOURCES} RestHandler/RestTestHandler.cpp)
endif()
if (NOT MSVC)
set(ARANGOD_SOURCES ${ARANGOD_SOURCES} GeneralServer/AcceptorUnixDomain.cpp GeneralServer/SocketUnixDomain.cpp)
endif()
include(ClusterEngine/CMakeLists.txt)
include(RocksDBEngine/CMakeLists.txt)
include(MMFiles/CMakeLists.txt)
add_library(arangoserver STATIC ${ARANGOD_SOURCES} ${CLUSTER_ENGINE_SOURCES} ${MMFILES_SOURCES} ${ROCKSDB_SOURCES})
target_link_libraries(arangoserver
${LIB_ARANGO_FE}
${LIB_ARANGO_GEO}
${LIB_ARANGO_V8}
${LIB_ARANGO}
${LINENOISE_LIBS}
${MSVC_LIBS}
${V8_LIBS}
${ROCKSDB_LIBS}
${LIB_ARANGO_IRESEARCH}
s2
fuerte
boost_boost
boost_system
snappy
${SYSTEM_LIBRARIES}
)
if (USE_ENTERPRISE)
target_compile_definitions(arangoserver PUBLIC "-DUSE_ENTERPRISE=1")
target_include_directories(arangoserver PUBLIC "${PROJECT_SOURCE_DIR}/${ENTERPRISE_INCLUDE_DIR}")
if (MSVC)
target_link_libraries(arangoserver
Wldap32.lib
)
else()
target_link_libraries(arangoserver
${LDAP_LIB}
${LBER_LIB}
${OPENSSL_LIBRARIES}
)
endif()
endif()
add_executable(${BIN_ARANGOD}
RestServer/arangod.cpp
)
target_link_libraries(${BIN_ARANGOD}
arangoserver
)
target_compile_features(${BIN_ARANGOD} PRIVATE cxx_constexpr)
install(
TARGETS ${BIN_ARANGOD}
RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
)
install_config(arangod)
if (NOT USE_PRECOMPILED_V8)
add_dependencies(arangod zlibstatic v8_build ${LIB_ARANGO_IRESEARCH})
else ()
add_dependencies(arangod zlibstatic ${LIB_ARANGO_IRESEARCH})
endif ()
if (USE_JEMALLOC)
add_dependencies(arangod jemalloc)
endif ()
if(MSVC)
target_compile_options(arangoserver PRIVATE /WX /D_WINSOCK_DEPRECATED_NO_WARNINGS)
target_compile_options(arangod PRIVATE /WX /D_WINSOCK_DEPRECATED_NO_WARNINGS)
endif()
if (DARWIN)
target_compile_options(arangoserver PRIVATE -Werror)
target_compile_options(arangod PRIVATE -Werror)
endif()
################################################################################
## arango-dfdb
################################################################################
install_command_alias(${BIN_ARANGOD}
${CMAKE_INSTALL_SBINDIR}
arango-dfdb
)
install_config(arango-dfdb)
################################################################################
## arango-secure-installation
################################################################################
install_command_alias(${BIN_ARANGOD}
${CMAKE_INSTALL_SBINDIR}
arango-secure-installation
)
install_config(arango-secure-installation)
################################################################################
## arango-init-database
################################################################################
install_command_alias(${BIN_ARANGOD}
${CMAKE_INSTALL_SBINDIR}
arango-init-database
)
install_config(arango-init-database)