| # CMake build for ORC-RT. |
| |
| #=============================================================================== |
| # Setup Project |
| #=============================================================================== |
| |
| cmake_minimum_required(VERSION 3.20.0) |
| |
| set(LLVM_COMMON_CMAKE_UTILS ${CMAKE_CURRENT_SOURCE_DIR}/../cmake) |
| include(${LLVM_COMMON_CMAKE_UTILS}/Modules/CMakePolicy.cmake |
| NO_POLICY_SCOPE) |
| |
| project(OrcRT LANGUAGES C CXX ASM) |
| |
| list(INSERT CMAKE_MODULE_PATH 0 |
| "${CMAKE_CURRENT_SOURCE_DIR}/cmake" |
| "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules" |
| "${CMAKE_CURRENT_SOURCE_DIR}/../runtimes/cmake/Modules" |
| "${LLVM_COMMON_CMAKE_UTILS}" |
| "${LLVM_COMMON_CMAKE_UTILS}/Modules" |
| ) |
| |
| include(GNUInstallDirs) |
| |
| #=============================================================================== |
| # Setup CMake Options |
| #=============================================================================== |
| |
| option(ORC_RT_INCLUDE_DOCS "Build the ORC-RT documentation." ON) |
| option(ORC_RT_ENABLE_ASSERTIONS "Enable assertions independent of build mode." ON) |
| option(ORC_RT_ENABLE_PEDANTIC "Compile with pedantic enabled." ON) |
| option(ORC_RT_ENABLE_WERROR "Fail and stop if a warning is triggered." OFF) |
| option(ORC_RT_INCLUDE_TESTS "Build ORC-RT tests." ${LLVM_INCLUDE_TESTS}) |
| |
| set(CMAKE_CXX_STANDARD 17 CACHE STRING "C++ standard to conform to") |
| set(CMAKE_CXX_STANDARD_REQUIRED YES) |
| set(CMAKE_CXX_EXTENSIONS NO) |
| set(CMAKE_FOLDER "orc-rt") |
| |
| set(ORC_RT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) |
| set(ORC_RT_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) |
| |
| #=============================================================================== |
| # Setup Source Code |
| #=============================================================================== |
| |
| if (ORC_RT_INCLUDE_DOCS) |
| add_subdirectory(docs) |
| endif() |
| |
| add_subdirectory(include) |
| add_subdirectory(lib) |
| add_subdirectory(tools) |
| |
| if(ORC_RT_INCLUDE_TESTS) |
| add_subdirectory(test) |
| add_subdirectory(unittests) |
| endif() |