mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-15 03:53:41 +00:00
80 lines
2.1 KiB
CMake
80 lines
2.1 KiB
CMake
if (APPLE OR NOT ARCH_AMD64 OR SANITIZE STREQUAL "undefined")
|
|
set (ENABLE_EMBEDDED_COMPILER_DEFAULT OFF)
|
|
else()
|
|
set (ENABLE_EMBEDDED_COMPILER_DEFAULT ON)
|
|
endif()
|
|
|
|
option (ENABLE_EMBEDDED_COMPILER "Enable support for 'compile_expressions' option for query execution" ${ENABLE_EMBEDDED_COMPILER_DEFAULT})
|
|
|
|
if (NOT ENABLE_EMBEDDED_COMPILER)
|
|
set (USE_EMBEDDED_COMPILER 0)
|
|
return()
|
|
endif()
|
|
|
|
if (NOT EXISTS "${ClickHouse_SOURCE_DIR}/contrib/llvm/llvm/CMakeLists.txt")
|
|
message (${RECONFIGURE_MESSAGE_LEVEL} "submodule /contrib/llvm is missing. to fix try run: \n git submodule update --init")
|
|
endif ()
|
|
|
|
set (USE_EMBEDDED_COMPILER 1)
|
|
|
|
set (LLVM_FOUND 1)
|
|
set (LLVM_VERSION "12.0.0bundled")
|
|
set (LLVM_INCLUDE_DIRS
|
|
"${ClickHouse_SOURCE_DIR}/contrib/llvm/llvm/include"
|
|
"${ClickHouse_BINARY_DIR}/contrib/llvm/llvm/include"
|
|
)
|
|
set (LLVM_LIBRARY_DIRS "${ClickHouse_BINARY_DIR}/contrib/llvm/llvm")
|
|
|
|
message(STATUS "LLVM include Directory: ${LLVM_INCLUDE_DIRS}")
|
|
message(STATUS "LLVM library Directory: ${LLVM_LIBRARY_DIRS}")
|
|
message(STATUS "LLVM C++ compiler flags: ${LLVM_CXXFLAGS}")
|
|
|
|
# This list was generated by listing all LLVM libraries, compiling the binary and removing all libraries while it still compiles.
|
|
set (REQUIRED_LLVM_LIBRARIES
|
|
LLVMExecutionEngine
|
|
LLVMRuntimeDyld
|
|
LLVMX86CodeGen
|
|
LLVMX86Desc
|
|
LLVMX86Info
|
|
LLVMAsmPrinter
|
|
LLVMDebugInfoDWARF
|
|
LLVMGlobalISel
|
|
LLVMSelectionDAG
|
|
LLVMMCDisassembler
|
|
LLVMPasses
|
|
LLVMCodeGen
|
|
LLVMipo
|
|
LLVMBitWriter
|
|
LLVMInstrumentation
|
|
LLVMScalarOpts
|
|
LLVMAggressiveInstCombine
|
|
LLVMInstCombine
|
|
LLVMVectorize
|
|
LLVMTransformUtils
|
|
LLVMTarget
|
|
LLVMAnalysis
|
|
LLVMProfileData
|
|
LLVMObject
|
|
LLVMBitReader
|
|
LLVMCore
|
|
LLVMRemarks
|
|
LLVMBitstreamReader
|
|
LLVMMCParser
|
|
LLVMMC
|
|
LLVMBinaryFormat
|
|
LLVMDebugInfoCodeView
|
|
LLVMSupport
|
|
LLVMDemangle
|
|
)
|
|
|
|
#function(llvm_libs_all REQUIRED_LLVM_LIBRARIES)
|
|
# llvm_map_components_to_libnames (result all)
|
|
# if (USE_STATIC_LIBRARIES OR NOT "LLVM" IN_LIST result)
|
|
# list (REMOVE_ITEM result "LTO" "LLVM")
|
|
# else()
|
|
# set (result "LLVM")
|
|
# endif ()
|
|
# list (APPEND result ${CMAKE_DL_LIBS} ch_contrib::zlib)
|
|
# set (${REQUIRED_LLVM_LIBRARIES} ${result} PARENT_SCOPE)
|
|
#endfunction()
|