67 lines · plain
1set(LLVM_LINK_COMPONENTS2 core3 native4 MC5 Option6 OrcJit7 OrcDebugging8 OrcShared9 OrcTargetProcess10 Support11 Target12 TargetParser13 TransformUtils14 )15 16if (EMSCRIPTEN AND "lld" IN_LIST LLVM_ENABLE_PROJECTS)17 set(WASM_SRC Wasm.cpp)18 set(WASM_LINK lldWasm)19 set(COMMON_LINK lldCommon)20endif()21 22add_clang_library(clangInterpreter23 DeviceOffload.cpp24 CodeCompletion.cpp25 IncrementalAction.cpp26 IncrementalExecutor.cpp27 IncrementalParser.cpp28 Interpreter.cpp29 InterpreterValuePrinter.cpp30 InterpreterUtils.cpp31 Value.cpp32 InterpreterValuePrinter.cpp33 ${WASM_SRC}34 PARTIAL_SOURCES_INTENDED35 36 DEPENDS37 intrinsics_gen38 ClangDriverOptions39 40 LINK_LIBS41 clangAST42 clangAnalysis43 clangBasic44 clangCodeGen45 clangDriver46 clangFrontend47 clangFrontendTool48 clangLex49 clangOptions50 clangParse51 clangSema52 clangSerialization53 ${WASM_LINK}54 ${COMMON_LINK}55 )56 57if ((MINGW OR CYGWIN) AND BUILD_SHARED_LIBS)58 # The DLLs are supposed to export all symbols (except for ones that are59 # explicitly hidden). Normally, this is what happens anyway, but if there60 # are symbols that are marked explicitly as dllexport, we'd only export them61 # and nothing else. The Interpreter contains a few cases of such dllexports62 # (for symbols that need to be exported even from standalone exe files);63 # therefore, add --export-all-symbols to make sure we export all symbols64 # despite potential dllexports.65 target_link_options(clangInterpreter PRIVATE LINKER:--export-all-symbols)66endif()67