set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error") add_library(clickhouse-compiler-lib driver.cpp cc1_main.cpp cc1as_main.cpp lld.cpp) target_compile_options(clickhouse-compiler-lib PRIVATE -fno-rtti -fno-exceptions -g0) llvm_map_components_to_libraries(REQUIRED_LLVM_LIBRARIES all) # We link statically with zlib, and LLVM (sometimes) tries to bring its own dependency. list(REMOVE_ITEM REQUIRED_LLVM_LIBRARIES "-lz") # Wrong library in freebsd: list(REMOVE_ITEM REQUIRED_LLVM_LIBRARIES "-l/usr/lib/libexecinfo.so") message(STATUS "Using libraries for LLVM: ${REQUIRED_LLVM_LIBRARIES}") target_include_directories(clickhouse-compiler-lib PRIVATE ${LLVM_INCLUDE_DIRS}) # This is extracted almost directly from CMakeFiles/.../link.txt in LLVM build directory. target_link_libraries(clickhouse-compiler-lib clangBasic clangCodeGen clangDriver clangFrontend clangFrontendTool clangRewriteFrontend clangARCMigrate clangStaticAnalyzerFrontend clangParse clangSerialization clangSema clangEdit clangStaticAnalyzerCheckers clangASTMatchers clangStaticAnalyzerCore clangAnalysis clangAST clangRewrite clangLex clangBasic lldCOFF lldDriver lldELF #lldMinGW lldMachO lldReaderWriter lldYAML #lldCommon lldCore lldConfig ${REQUIRED_LLVM_LIBRARIES} LLVMSupport #Polly #PollyISL #PollyPPCG libtinfo.a ${ZLIB_LIBRARIES} ${EXECINFO_LIBRARY} Threads::Threads )