#- * - 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/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 "$<$: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/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/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/ReplicationTimeoutFeature.cpp Cluster/ResignShardLeadership.cpp Cluster/RestAgencyCallbacksHandler.cpp Cluster/RestClusterHandler.cpp Cluster/ServerState.cpp Cluster/SynchronizeShard.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/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/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 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 boost_boost boost_system ${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 lber ${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 () ################################################################################ ## 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)