Open-source graph database, built for real-time streaming data, compatible with Neo4j.
Go to file
Teon Banek e94969000a Block in-source builds and add clean_all target
Summary:
Add detecting and blocking in-source builds

A simple cmake function, which detects if the source and build dir are
one and the same. This unfortunately does not catch the case when the
build dir is inside the source dir, since we actually want to support
that. For example, creating a 'build' directory inside the project
source directory should be allowed.

Add a clean_all custom target in cmake

This target will clean all the files inside the build directory. It
should be used with care!

A new cmake module is created, since invoking cmake -E remove_directory
will delete the directory and we want to keep it. This way, we also
avoid using platform specific shell command, i.e `rm -rf` and we can
make clean_all smarter in the future.

Untrack build/.gitignore from git

Reviewers: buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D92
2017-03-07 10:00:47 +01:00
cmake Block in-source builds and add clean_all target 2017-03-07 10:00:47 +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 Traversal namespace specialization added for real DB primitives 2017-03-03 14:01:01 +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 Refactor transaction inside db_accessor. Also introduce advance_command. 2017-03-07 09:42:04 +01:00
tests Refactor transaction inside db_accessor. Also introduce advance_command. 2017-03-07 09:42:04 +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 Block in-source builds and add clean_all target 2017-03-07 10:00:47 +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.sh clang format has been run on all hpp and cpp files under src and tests 2017-02-18 11:54:37 +01:00
init.sh Block in-source builds and add clean_all target 2017-03-07 10:00:47 +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