| # Building orc-rt | |
| ## Getting Started | |
| The basic steps needed to build orc-rt are: | |
| * Checkout llvm-project: | |
| * ``cd where-you-want-llvm-to-live`` | |
| * ``git clone https://github.com/llvm/llvm-project.git`` | |
| * Configure and build orc-rt: | |
| CMake is the only supported configuration system. | |
| Clang is the preferred compiler when building and using orc-rt. | |
| * ``cd where you want to build llvm`` | |
| * ``mkdir build`` | |
| * ``cd build`` | |
| * ``cmake -G <generator> -DLLVM_ENABLE_RUNTIMES=orc-rt [options] <llvm-monorepo>/runtimes`` | |
| For more information about configuring orc-rt see :ref:`CMake Options`. | |
| * ``make orc-rt`` --- will build orc-rt. | |
| * ``make check-orc-rt`` --- will run the test suite. | |
| Shared and static libraries for orc-rt should now be present in | |
| llvm/build/lib. | |
| * **Optional**: Install orc-rt | |
| Remember to use the CMake option ``CMAKE_INSTALL_PREFIX`` to select a safe | |
| place to install orc-rt. | |
| * ``make install-orc-rt`` --- Will install the libraries and the headers | |
| ## CMake Options | |
| Here are some of the CMake variables that are used often, along with a | |
| brief explanation and LLVM-specific notes. For full documentation, check the | |
| CMake docs or execute ``cmake --help-variable VARIABLE_NAME``. | |
| **CMAKE_BUILD_TYPE**:STRING | |
| Sets the build type for ``make`` based generators. Possible values are | |
| Release, Debug, RelWithDebInfo and MinSizeRel. On systems like Visual Studio | |
| the user sets the build type with the IDE settings. | |
| **CMAKE_INSTALL_PREFIX**:PATH | |
| Path where LLVM will be installed if "make install" is invoked or the | |
| "INSTALL" target is built. | |
| **CMAKE_CXX_COMPILER**:STRING | |
| The C++ compiler to use when building and testing orc-rt. | |
| ## orc-rt specific options | |
| * option:: ORC_RT_ENABLE_ASSERTIONS:BOOL | |
| **Default**: ``ON`` | |
| Toggle assertions independent of the build mode. | |
| * option:: ORC_RT_ENABLE_PEDANTIC:BOOL | |
| **Default**: ``ON`` | |
| Compile with -Wpedantic. | |
| * option:: ORC_RT_ENABLE_WERROR:BOOL | |
| **Default**: ``ON`` | |
| Compile with -Werror |