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).