Open-source graph database, built for real-time streaming data, compatible with Neo4j.
Go to file
Teon Banek 333861e7e9 Generate flags for PlanCompiler via cmake
Summary:
Add join function to functions.cmake

This is a convenience function which will join a list of values by
replacing ';' with the given separator.

cmake: Add fetching compile flags in gcc format

This is a utility function which takes all target compilation flags that
can be passed to gcc or clang.

Generate flags for PlanCompiler via cmake

Cmake will now collect all compiler options and definitions which are
then stored in a generated `query/plan_compiler.hpp`. The generated file
is not tracked by git and is stored inside cmake's build directory. The
file is fast to generate and may change often depending on the build
type.

Additionally, link and include directories are also generated as
absolute paths. In the future, we may want to support relative paths so
that copying/installing the build dir creates runnable binaries.

Add -Wall flag for all build types

Lowercase #pragma once in tests for network_common

It seems 'once' may be case sensitive, since clang outputs a warning for
it that the pragma is unknown.

Reviewers: buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D107
2017-03-10 18:21:31 +01:00
cmake Generate flags for PlanCompiler via cmake 2017-03-10 18:21:31 +01:00
config examples folder has been removed; src/test folder has been removed; the existing tests were moved to tests folder; StacktraceException has been introduced; query_plan_templated has been moved to query folder; hazard pointers have been deleted because they are not used any more 2017-02-18 18:03:48 +01:00
docs Doxygen setup 2016-12-20 15:49:52 +01:00
libs memgraph coverage (lcov setup in progress...) 2017-03-07 18:27:03 +01:00
poc storage and database major refactor in progress, also switching from properties to typed-value system. a lot of overdesigned functionalities cut down, new implementations just started. VERY UNSTABLE STATE 2017-02-04 09:01:56 +01:00
release For each hardcoded query plan there is a build target -> that will improve Memgraph's testability + update of release script (release/alpha.sh) 2017-02-28 19:00:59 +01:00
src Generate flags for PlanCompiler via cmake 2017-03-10 18:21:31 +01:00
tests Generate flags for PlanCompiler via cmake 2017-03-10 18:21:31 +01:00
.arcconfig Set arc.land.onto.default to dev 2017-03-03 13:33:45 +01:00
.clang-format use of Google Style (clang-format) 2017-01-23 12:04:54 +01:00
.gitignore Block in-source builds and add clean_all target 2017-03-07 10:00:47 +01:00
.ycm_extra_conf.py Start implementing compiler structures 2017-02-23 18:12:24 +01:00
CMakeLists.txt Generate flags for PlanCompiler via cmake 2017-03-10 18:21:31 +01:00
coverage memgraph coverage (lcov setup in progress...) 2017-03-07 18:27:03 +01:00
Doxyfile antlr integration, *.hpp and *.cpp inside src dir, cleanup 2017-02-17 16:20:31 +01:00
Doxylogo.png Doxygen setup 2016-12-20 15:49:52 +01:00
format memgraph coverage (lcov setup in progress...) 2017-03-07 18:27:03 +01:00
init memgraph coverage (lcov setup in progress...) 2017-03-07 18:27:03 +01:00
llvm-gcov memgraph coverage (lcov setup in progress...) 2017-03-07 18:27:03 +01:00
README.md benchmark folder has been removed from the root dir, README update, measure_time.hpp comments 2017-02-18 14:36:50 +01:00

memgraph

Memgraph is an ACID compliant high performance transactional distributed in-memory graph database featuring runtime native query compiling, lock free data structures, multi-version concurrency control and asynchronous IO.

dependencies

Memgraph can be compiled using any modern c++ compiler. It mostly relies on the standard template library, however, some things do require external libraries.

Some code contains linux-specific libraries and the build is only supported on a 64 bit linux kernel.

  • linux
  • clang 3.8 (good c++11 support, especially lock free atomics)
  • antlr (compiler frontend)
  • cppitertools
  • fmt format
  • google benchmark
  • google test
  • yaml-cpp