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