ide: Add CMakeLists.txt for cmake-based IDEs

This patch add the CMakeLists.txt file for IDEs based on cmake, like
CLion.

This file assumes the existence of a build/release/gen directory,
containing generated files.

Refs #867

Signed-off-by: Duarte Nunes <duarte@scylladb.com>
Message-Id: <20170618151333.94714-1-duarte@scylladb.com>
This commit is contained in:
Duarte Nunes
2017-06-18 16:13:33 +01:00
committed by Avi Kivity
parent 58fd3dd006
commit ffcd4c76c2

55
CMakeLists.txt Normal file
View File

@@ -0,0 +1,55 @@
cmake_minimum_required(VERSION 3.5)
project(scylla)
if (NOT DEFINED ENV{CLION_IDE})
message(FATAL_ERROR "This CMakeLists.txt file is only valid for use in CLion")
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++14 -DHAVE_HWLOC -DHAVE_DPDK")
include_directories(. build/release/gen seastar)
aux_source_directory(build/release/gen SOURCE_FILES)
aux_source_directory(build/release/gen/cql3 SOURCE_FILES)
aux_source_directory(build/release/gen/idl SOURCE_FILES)
aux_source_directory(. SOURCE_FILES)
aux_source_directory(api SOURCE_FILES)
aux_source_directory(auth SOURCE_FILES)
aux_source_directory(cql3 SOURCE_FILES)
aux_source_directory(cql3/functions SOURCE_FILES)
aux_source_directory(cql3/restrictions SOURCE_FILES)
aux_source_directory(cql3/selection SOURCE_FILES)
aux_source_directory(cql3/statements SOURCE_FILES)
aux_source_directory(db/ SOURCE_FILES)
aux_source_directory(db/commitlog SOURCE_FILES)
aux_source_directory(db/index SOURCE_FILES)
aux_source_directory(db/marshal SOURCE_FILES)
aux_source_directory(db/view SOURCE_FILES)
aux_source_directory(dht SOURCE_FILES)
aux_source_directory(exceptions SOURCE_FILES)
aux_source_directory(gms SOURCE_FILES)
aux_source_directory(index SOURCE_FILES)
aux_source_directory(io SOURCE_FILES)
aux_source_directory(locator SOURCE_FILES)
aux_source_directory(message SOURCE_FILES)
aux_source_directory(repair SOURCE_FILES)
aux_source_directory(seastar SOURCE_FILES)
aux_source_directory(seastar/core SOURCE_FILES)
aux_source_directory(seastar/http SOURCE_FILES)
aux_source_directory(seastar/net SOURCE_FILES)
aux_source_directory(seastar/rpc SOURCE_FILES)
aux_source_directory(seastar/tests SOURCE_FILES)
aux_source_directory(seastar/util SOURCE_FILES)
aux_source_directory(service SOURCE_FILES)
aux_source_directory(service/pager SOURCE_FILES)
aux_source_directory(sstables SOURCE_FILES)
aux_source_directory(streaming SOURCE_FILES)
aux_source_directory(tests SOURCE_FILES)
aux_source_directory(tests/perf SOURCE_FILES)
aux_source_directory(thrift SOURCE_FILES)
aux_source_directory(tracing SOURCE_FILES)
aux_source_directory(transport SOURCE_FILES)
aux_source_directory(transport/messages SOURCE_FILES)
aux_source_directory(utils SOURCE_FILES)
add_executable(scylla ${SOURCE_FILES})