memgraph/tools/apollo/build_release
Teon Banek a17261038c Include tools CMakeLists in the top level CMakeLists
Summary:
Split main CMakeLists into src/CMakeLists

The main CMakeLists duty is to make all the required libraries and
variables visible to all of the other sub-CMakeLists. After doing that,
it should include those sub-CMakeLists according to configuration
options.

This should make global configurations easier to reuse without polluting
the global space with locally related configurations. It is a necessary
step for including other projects like 'tools' in the release
installation.

Building tools is automatically disabled, but can be enabled by setting
the TOOLS option to ON when running cmake. This should allow on demand
building as well as combined installation of Memgraph and its tools.

Reviewers: mferencevic, buda

Reviewed By: mferencevic

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D1018
2017-12-04 15:18:18 +01:00

31 lines
988 B
Plaintext

# WARNING: do not run this script without defining THREADS!
# If THREADS isn't defined then this script will call 'make -j'.
# From the manpage: "If the -j option is given without an argument, make will not limit the number of jobs that can run simultaneously."
# That means that the whole build will be started simultaneously and IT WILL CRASH YOUR COMPUTER!
cd ../..
TIMEOUT=600 ./init
bash -c "doxygen Doxyfile >/dev/null 2>/dev/null"
cd build
cmake -DTOOLS=ON -DCMAKE_BUILD_TYPE=Release -DUSE_READLINE=OFF ..
TIMEOUT=1000 make -j$THREADS
# Create a binary package (which can then be used for Docker image).
mkdir output
cd output
cpack -D CPACK_SET_DESTDIR=ON -G TGZ --config ../CPackConfig.cmake
cpack -G DEB --config ../CPackConfig.cmake
# Create user technical documentation for community site
cd ../../docs/user_technical
./bundle_community
# Install tools, because they may be needed to run some benchmarks and tests.
cd ../../tools
./setup
cd apollo
./generate release