2.2. Build OmniSciDB¶
Note
Before you begin building, install the appropriate :doc:./deps.
OmniSciDB uses CMake for its build system. The following commands will build a simple, CUDA enabled build using 4 CPU threads:
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=debug ..
make -j 4
Note
macOS builds must be static linked, eg cmake -DCMAKE_BUILD_TYPE=debug -DPREFER_STATIC_LIBS=on ...
The following cmake/ccmake options can enable/disable different features:
-DCMAKE_BUILD_TYPE=release- Build type and compiler options to use.Options are
Debug,Release,RelWithDebInfo,MinSizeRel, and unset.-DENABLE_AWS_S3=on- Enable AWS S3 support, if available. Default ison.-DENABLE_CUDA=off- Disable CUDA. Default ison.-DENABLE_CUDA_KERNEL_DEBUG=off- Enable debugging symbols for CUDA kernels. Will dramatically reduce kernel performance. Default isoff.-DENABLE_DECODERS_BOUNDS_CHECKING=off- Enable bounds checking for column decoding. Default isoff.-DENABLE_FOLLY=on- Use Folly. Default ison.-DENABLE_IWYU=off- Enable include-what-you-use. Default isoff.-DENABLE_JIT_DEBUG=off- Enable debugging symbols for the JIT. Default isoff.-DENABLE_PROFILER=off- Enable google perftools. Default isoff.-DENABLE_STANDALONE_CALCITE=off- Require standalone Calcite server. Default isoff.-DENABLE_TESTS=on- Build unit tests. Default ison.-DENABLE_ASAN=off- Enable AddressSanitizer. Default isoff.-DENABLE_TSAN=off- Enable ThreadSanitizer. Default isoff.-DENABLE_UBSAN=off- Enable UndefinedBehaviorSanitizer. Default isoff.-DENABLE_CODE_COVERAGE=off- Enable code coverage symbols (clang only). Default isoff.-DENABLE_JAVA_REMOTE_DEBUG=on- Enable Java Remote Debug. Default isoff.-DMAPD_DOCS_DOWNLOAD=on- Download the latest master build of the documentation /docs.mapd.com. Default isoff. Note: this is a >50MB download.-DPREFER_STATIC_LIBS=off- Static link dependencies, if available. Default isoff.-DUSE_ALTERNATE_LINKER=""- Use alternate linker (eg ‘gold’, ‘lld’, ‘mold’). Default is blank (use system default linker).