1if ( CMAKE_SYSTEM_NAME MATCHES "Windows" OR CMAKE_SYSTEM_NAME MATCHES "NetBSD" ) 2 list(APPEND extra_libs lldbHost) 3endif () 4 5if (HAVE_LIBPTHREAD) 6 list(APPEND extra_libs pthread) 7endif () 8 9 10if(APPLE) 11 configure_file( 12 ${CMAKE_CURRENT_SOURCE_DIR}/lldb-vscode-Info.plist.in 13 ${CMAKE_CURRENT_BINARY_DIR}/lldb-vscode-Info.plist 14 ) 15 # Inline info plist in binary (use target_link_options for this as soon as CMake 3.13 is available) 16 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-sectcreate,__TEXT,__info_plist,${CMAKE_CURRENT_BINARY_DIR}/lldb-vscode-Info.plist") 17endif() 18 19# We need to include the llvm components we depend on manually, as liblldb does 20# not re-export those. 21set(LLVM_LINK_COMPONENTS Support) 22set(LLVM_TARGET_DEFINITIONS Options.td) 23tablegen(LLVM Options.inc -gen-opt-parser-defs) 24add_public_tablegen_target(LLDBVSCodeOptionsTableGen) 25add_lldb_tool(lldb-vscode 26 lldb-vscode.cpp 27 BreakpointBase.cpp 28 ExceptionBreakpoint.cpp 29 FifoFiles.cpp 30 FunctionBreakpoint.cpp 31 IOStream.cpp 32 JSONUtils.cpp 33 LLDBUtils.cpp 34 OutputRedirector.cpp 35 ProgressEvent.cpp 36 RunInTerminal.cpp 37 SourceBreakpoint.cpp 38 VSCode.cpp 39 40 LINK_LIBS 41 liblldb 42 ${extra_libs} 43 44 LINK_COMPONENTS 45 Option 46 Support 47 ) 48 49if(LLDB_BUILD_FRAMEWORK) 50 # In the build-tree, we know the exact path to the framework directory. 51 # The installed framework can be in different locations. 52 lldb_setup_rpaths(lldb-vscode 53 BUILD_RPATH 54 "${LLDB_FRAMEWORK_ABSOLUTE_BUILD_DIR}" 55 INSTALL_RPATH 56 "@loader_path/../../../SharedFrameworks" 57 "@loader_path/../../System/Library/PrivateFrameworks" 58 "@loader_path/../../Library/PrivateFrameworks" 59 ) 60endif() 61