1
0
Fork 0
arangodb/arangod/CMakeLists.txt

388 lines
10 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
${CMAKE_SOURCE_DIR}/utils/flex-c++.sh
${FLEX_EXECUTABLE}
Aql/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
)
endif ()
################################################################################
## arangod
################################################################################
if (MSVC)
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_ROCKSDB)
set(ROCKSDB_FILES
Indexes/RocksDBFeature.cpp
Indexes/RocksDBIndex.cpp
Indexes/RocksDBKeyComparator.cpp
)
else ()
set(ROCKSDB_FILES "")
endif ()
add_executable(${BIN_ARANGOD}
${ProductVersionFiles}
${ROCKSDB_FILES}
Actions/ActionFeature.cpp
Actions/RestActionHandler.cpp
Actions/actions.cpp
Agency/AgencyFeature.cpp
Agency/Agent.cpp
Agency/AgentCallback.cpp
Agency/Constituent.cpp
Agency/CleanOutServer.cpp
Agency/FailedLeader.cpp
Agency/FailedServer.cpp
Agency/MoveShard.cpp
Agency/NotifierThread.cpp
Agency/NotifyCallback.cpp
Agency/Node.cpp
Agency/Supervision.cpp
Agency/RestAgencyHandler.cpp
Agency/RestAgencyPrivHandler.cpp
Agency/State.cpp
Agency/Store.cpp
Agency/StoreCallback.cpp
Aql/Aggregator.cpp
Aql/AqlItemBlock.cpp
Aql/AqlItemBlockManager.cpp
Aql/AqlValue.cpp
Aql/Ast.cpp
Aql/AstNode.cpp
Aql/AttributeAccessor.cpp
Aql/BasicBlocks.cpp
Aql/BindParameters.cpp
Aql/CalculationBlock.cpp
Aql/ClusterBlocks.cpp
Aql/ClusterNodes.cpp
Aql/CollectBlock.cpp
Aql/CollectNode.cpp
Aql/CollectOptions.cpp
Aql/Collection.cpp
Aql/CollectionScanner.cpp
Aql/Collections.cpp
Aql/Condition.cpp
Aql/ConditionFinder.cpp
Aql/EnumerateCollectionBlock.cpp
Aql/EnumerateListBlock.cpp
Aql/ExecutionBlock.cpp
Aql/ExecutionEngine.cpp
Aql/ExecutionNode.cpp
Aql/ExecutionPlan.cpp
Aql/ExecutionStats.cpp
Aql/Executor.cpp
Aql/Expression.cpp
Aql/FunctionDefinitions.cpp
Aql/Function.cpp
Aql/Functions.cpp
Aql/Graphs.cpp
Aql/IndexBlock.cpp
Aql/IndexNode.cpp
Aql/ModificationBlocks.cpp
Aql/ModificationNodes.cpp
Aql/ModificationOptions.cpp
Aql/NodeFinder.cpp
Aql/Optimizer.cpp
Aql/OptimizerRules.cpp
Aql/Parser.cpp
Aql/Quantifier.cpp
Aql/Query.cpp
Aql/QueryCache.cpp
Aql/QueryList.cpp
Aql/QueryRegistry.cpp
Aql/Range.cpp
Aql/RestAqlHandler.cpp
Aql/Scopes.cpp
Aql/ShortestPathBlock.cpp
Aql/ShortestPathNode.cpp
Aql/ShortestPathOptions.cpp
Aql/ShortStringStorage.cpp
Aql/SortBlock.cpp
Aql/SortCondition.cpp
Aql/SortNode.cpp
Aql/SubqueryBlock.cpp
Aql/TraversalBlock.cpp
Aql/TraversalConditionFinder.cpp
Aql/TraversalNode.cpp
Aql/TraversalOptions.cpp
Aql/V8Expression.cpp
Aql/Variable.cpp
Aql/VariableGenerator.cpp
Aql/grammar.cpp
Aql/tokens.cpp
Cluster/AgencyCallback.cpp
Cluster/AgencyCallbackRegistry.cpp
Cluster/AgencyComm.cpp
Cluster/ClusterComm.cpp
Cluster/ClusterFeature.cpp
Cluster/ClusterInfo.cpp
Cluster/ClusterMethods.cpp
Cluster/ClusterTraverser.cpp
Cluster/HeartbeatThread.cpp
Cluster/RestAgencyCallbacksHandler.cpp
Cluster/RestShardHandler.cpp
Cluster/DBServerAgencySync.cpp
Cluster/ServerState.cpp
Cluster/v8-cluster.cpp
Dispatcher/Dispatcher.cpp
Dispatcher/DispatcherFeature.cpp
Dispatcher/DispatcherQueue.cpp
Dispatcher/DispatcherThread.cpp
Dispatcher/Job.cpp
FulltextIndex/fulltext-handles.cpp
FulltextIndex/fulltext-index.cpp
FulltextIndex/fulltext-list.cpp
FulltextIndex/fulltext-query.cpp
FulltextIndex/fulltext-result.cpp
GeoIndex/GeoIndex.cpp
GeneralServer/AsyncJobManager.cpp
GeneralServer/HttpCommTask.cpp
GeneralServer/HttpServerJob.cpp
GeneralServer/GeneralCommTask.cpp
GeneralServer/HttpCommTask.cpp
GeneralServer/HttpsCommTask.cpp
GeneralServer/GeneralListenTask.cpp
GeneralServer/GeneralServer.cpp
GeneralServer/RestHandler.cpp
GeneralServer/RestHandlerFactory.cpp
GeneralServer/PathHandler.cpp
Indexes/EdgeIndex.cpp
Indexes/FulltextIndex.cpp
Indexes/GeoIndex2.cpp
Indexes/HashIndex.cpp
Indexes/Index.cpp
Indexes/IndexIterator.cpp
Indexes/PathBasedIndex.cpp
Indexes/PrimaryIndex.cpp
Indexes/SimpleAttributeEqualityMatcher.cpp
Indexes/SkiplistIndex.cpp
Replication/ContinuousSyncer.cpp
Replication/InitialSyncer.cpp
Replication/Syncer.cpp
RestHandler/RestAdminLogHandler.cpp
RestHandler/RestAqlFunctionsHandler.cpp
RestHandler/RestAuthHandler.cpp
RestHandler/RestBaseHandler.cpp
RestHandler/RestBatchHandler.cpp
RestHandler/RestCursorHandler.cpp
RestHandler/RestDebugHandler.cpp
RestHandler/RestDocumentHandler.cpp
RestHandler/RestEchoHandler.cpp
RestHandler/RestEdgesHandler.cpp
RestHandler/RestExportHandler.cpp
RestHandler/RestImportHandler.cpp
RestHandler/RestJobHandler.cpp
RestHandler/RestPleaseUpgradeHandler.cpp
RestHandler/RestQueryCacheHandler.cpp
RestHandler/RestQueryHandler.cpp
RestHandler/RestReplicationHandler.cpp
RestHandler/RestShutdownHandler.cpp
RestHandler/RestSimpleHandler.cpp
RestHandler/RestSimpleQueryHandler.cpp
RestHandler/RestUploadHandler.cpp
RestHandler/RestVersionHandler.cpp
RestHandler/RestVocbaseBaseHandler.cpp
RestHandler/WorkMonitorHandler.cpp
RestServer/AffinityFeature.cpp
RestServer/BootstrapFeature.cpp
RestServer/CheckVersionFeature.cpp
RestServer/ConsoleFeature.cpp
RestServer/ConsoleThread.cpp
RestServer/DatabaseFeature.cpp
RestServer/DatabaseServerFeature.cpp
RestServer/EndpointFeature.cpp
RestServer/FileDescriptorsFeature.cpp
RestServer/FrontendFeature.cpp
RestServer/InitDatabaseFeature.cpp
RestServer/QueryRegistryFeature.cpp
RestServer/RestServerFeature.cpp
RestServer/ScriptFeature.cpp
RestServer/ServerFeature.cpp
RestServer/UnitTestsFeature.cpp
RestServer/UpgradeFeature.cpp
RestServer/VocbaseContext.cpp
RestServer/arangod.cpp
Scheduler/ListenTask.cpp
Scheduler/PeriodicTask.cpp
Scheduler/Scheduler.cpp
Scheduler/SchedulerFeature.cpp
Scheduler/SchedulerLibev.cpp
Scheduler/SchedulerThread.cpp
Scheduler/SignalTask.cpp
Scheduler/SocketTask.cpp
Scheduler/Task.cpp
Scheduler/TaskManager.cpp
Scheduler/TimerTask.cpp
Statistics/StatisticsFeature.cpp
Statistics/statistics.cpp
Utils/AqlTransaction.cpp
Utils/CollectionExport.cpp
Utils/CollectionKeys.cpp
Utils/CollectionKeysRepository.cpp
Utils/Cursor.cpp
Utils/CursorRepository.cpp
Utils/OperationCursor.cpp
Utils/SingleCollectionTransaction.cpp
Utils/StandaloneTransactionContext.cpp
Utils/Transaction.cpp
Utils/TransactionContext.cpp
Utils/V8TransactionContext.cpp
Utils/WorkMonitorArangod.cpp
V8Server/FoxxQueuesFeature.cpp
V8Server/V8Context.cpp
V8Server/V8DealerFeature.cpp
V8Server/V8Job.cpp
V8Server/V8PeriodicTask.cpp
V8Server/V8QueueJob.cpp
V8Server/V8TimerTask.cpp
V8Server/V8Traverser.cpp
V8Server/v8-actions.cpp
V8Server/v8-collection-util.cpp
V8Server/v8-collection.cpp
V8Server/v8-dispatcher.cpp
V8Server/v8-query.cpp
V8Server/v8-replication.cpp
V8Server/v8-statistics.cpp
V8Server/v8-user-structures.cpp
V8Server/v8-util.cpp
V8Server/v8-vocbase.cpp
V8Server/v8-voccursor.cpp
V8Server/v8-vocindex.cpp
VocBase/AuthInfo.cpp
VocBase/DatafileStatistics.cpp
VocBase/Ditch.cpp
VocBase/EdgeCollectionInfo.cpp
VocBase/Graphs.cpp
VocBase/KeyGenerator.cpp
VocBase/MasterPointers.cpp
VocBase/PathEnumerator.cpp
VocBase/SingleServerTraverser.cpp
VocBase/Traverser.cpp
VocBase/cleanup.cpp
VocBase/collection.cpp
VocBase/compactor.cpp
VocBase/datafile.cpp
VocBase/document-collection.cpp
VocBase/replication-applier.cpp
VocBase/replication-common.cpp
VocBase/replication-dump.cpp
VocBase/server.cpp
VocBase/transaction.cpp
VocBase/vocbase-defaults.cpp
VocBase/vocbase.cpp
Wal/AllocatorThread.cpp
Wal/CollectorThread.cpp
Wal/Logfile.cpp
Wal/LogfileManager.cpp
Wal/RecoverState.cpp
Wal/RecoveryFeature.cpp
Wal/RemoverThread.cpp
Wal/Slot.cpp
Wal/Slots.cpp
Wal/SynchronizerThread.cpp
)
target_link_libraries(${BIN_ARANGOD}
${LIB_ARANGO_FE}
${LIB_ARANGO_V8}
${LIB_ARANGO}
${LIBEV_LIBS}
${LINENOISE_LIBS}
${MSVC_LIBS}
${V8_LIBS}
${ROCKSDB_LIBS}
${SYSTEM_LIBRARIES}
)
install(
TARGETS ${BIN_ARANGOD}
RUNTIME DESTINATION ${ARANGODB_INSTALL_SBIN})
install_config(arangod)
if (NOT USE_PRECOMPILED_V8)
add_dependencies(arangod ev zlibstatic v8_build)
else ()
add_dependencies(arangod ev zlibstatic)
endif ()
################################################################################
## arango-dfdb
################################################################################
install_command_alias(${BIN_ARANGOD}
${ARANGODB_INSTALL_SBIN}
arango-dfdb)
install_config(arango-dfdb)
################################################################################
## arango-secure-installation
################################################################################
install_command_alias(${BIN_ARANGOD}
${ARANGODB_INSTALL_SBIN}
arango-secure-installation)
install_config(arango-secure-installation)
################################################################################
## arango-init-database
################################################################################
install_command_alias(${BIN_ARANGOD}
${ARANGODB_INSTALL_SBIN}
arango-init-database)
install_config(arango-init-database)