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