6c74a386ba
To do so one needs to pass -Dbuiltin_llvm=Off -Dbuiltin_clang=Off and the PATH should contain the path to llvm-config. Note this is not enabling ROOT to work with vanilla clang! This patch allows ROOT to be built against a prebuilt clang and llvm from https://root.cern.ch/git/{llvm.git,clang.git}. It allows to reduce ROOT's build times (in cases when cmake decides to rebuild the in-tree llvm for no good reason). It moves the common denominator of different ROOT builds in one place to save space. It also allows easy switch between LLVM in debug and release mode. To build the external clang and llvm exactly in the same way as the in-tree builds use: CMAKE_FLAGS="\ -DLLVM_ENABLE_WARNINGS=OFF \ -DLLVM_INCLUDE_TESTS=OFF \ -DCLANG_INCLUDE_TESTS=OFF \ -DLLVM_INCLUDE_EXAMPLES=OFF \ -DCLANG_BUILD_TOOLS=OFF \ -DCLANG_TOOL_ARCMT_TEST_BUILD=OFF \ -DCLANG_TOOL_CLANG_CHECK_BUILD=OFF \ -DCLANG_TOOL_CLANG_FORMAT_BUILD=OFF \ -DCLANG_TOOL_CLANG_FORMAT_VS_BUILD=OFF \ -DCLANG_TOOL_CLANG_FUZZER_BUILD=OFF \ -DCLANG_TOOL_CLANG_IMPORT_TEST_BUILD=OFF \ -DCLANG_TOOL_CLANG_OFFLOAD_BUNDLER_BUILD=OFF \ -DCLANG_TOOL_CLANG_RENAME_BUILD=OFF \ -DCLANG_TOOL_C_ARCMT_TEST_BUILD=OFF \ -DCLANG_TOOL_C_INDEX_TEST_BUILD=OFF \ -DCLANG_TOOL_DIAGTOOL_BUILD=OFF \ -DCLANG_TOOL_LIBCLANG_BUILD=OFF \ -DCLANG_TOOL_SCAN_BUILD_BUILD=OFF \ -DCLANG_TOOL_SCAN_VIEW_BUILD=OFF \ -DLLVM_BUILD_TOOLS=OFF \ -DLLVM_TOOL_LLVM_AR_BUILD=OFF \ -DCLANG_TOOL_CLANG_OFFLOAD_BUNDLER_BUILD=OFF \ -DLLVM_FORCE_USE_OLD_TOOLCHAIN=ON \ -DCLANG_ENABLE_STATIC_ANALYZER=OFF \ -DCLANG_ENABLE_ARCMT=OFF \ -DCLANG_ENABLE_FORMAT=OFF \ -DLLVM_TARGETS_TO_BUILD=host \ -DLLVM_ABI_BREAKING_CHECKS=FORCE_OFF \ -DLLVM_ENABLE_ABI_BREAKING_CHECKS=OFF \ -DCMAKE_INSTALL_PREFIX=.. \ -DCMAKE_BUILD_TYPE=Debug" cmake "$CMAKE_FLAGS" ../../../sources/root-llvm/
31 lines
686 B
CMake
31 lines
686 B
CMake
#------------------------------------------------------------------------------
|
|
# CLING - the C++ LLVM-based InterpreterG :)
|
|
#
|
|
# This file is dual-licensed: you can choose to license it under the University
|
|
# of Illinois Open Source License or the GNU Lesser General Public License. See
|
|
# LICENSE.TXT for details.
|
|
#------------------------------------------------------------------------------
|
|
|
|
set( LLVM_LINK_COMPONENTS
|
|
core
|
|
support
|
|
binaryformat
|
|
)
|
|
|
|
add_cling_library(clingMetaProcessor OBJECT
|
|
Display.cpp
|
|
InputValidator.cpp
|
|
MetaLexer.cpp
|
|
MetaParser.cpp
|
|
MetaProcessor.cpp
|
|
MetaSema.cpp
|
|
|
|
LINK_LIBS
|
|
clangLex
|
|
clangAST
|
|
clangBasic
|
|
|
|
clingInterpreter
|
|
clingUtils
|
|
)
|