blob: eb2f65156f22dc2ee0ee0f4d1f8d8189ae413535 [file] [log] [blame]
if ( CMAKE_SYSTEM_NAME MATCHES "Windows" OR CMAKE_SYSTEM_NAME MATCHES "NetBSD" )
add_definitions( -DIMPORT_LIBLLDB )
list(APPEND extra_libs lldbHost)
endif ()
if (HAVE_LIBPTHREAD)
list(APPEND extra_libs pthread)
endif ()
if(APPLE)
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/lldb-vscode-Info.plist.in
${CMAKE_CURRENT_BINARY_DIR}/lldb-vscode-Info.plist
)
# Inline info plist in binary (use target_link_options for this as soon as CMake 3.13 is available)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-sectcreate,__TEXT,__info_plist,${CMAKE_CURRENT_BINARY_DIR}/lldb-vscode-Info.plist")
endif()
# We need to include the llvm components we depend on manually, as liblldb does
# not re-export those.
set(LLVM_LINK_COMPONENTS Support)
set(LLVM_TARGET_DEFINITIONS Options.td)
tablegen(LLVM Options.inc -gen-opt-parser-defs)
add_public_tablegen_target(LLDBVSCodeOptionsTableGen)
add_lldb_tool(lldb-vscode
lldb-vscode.cpp
BreakpointBase.cpp
ExceptionBreakpoint.cpp
FifoFiles.cpp
FunctionBreakpoint.cpp
IOStream.cpp
JSONUtils.cpp
LLDBUtils.cpp
ProgressEvent.cpp
RunInTerminal.cpp
SourceBreakpoint.cpp
VSCode.cpp
LINK_LIBS
liblldb
${host_lib}
${extra_libs}
LINK_COMPONENTS
Option
Support
)
if(LLDB_BUILD_FRAMEWORK)
# In the build-tree, we know the exact path to the framework directory.
# The installed framework can be in different locations.
lldb_setup_rpaths(lldb-vscode
BUILD_RPATH
"${LLDB_FRAMEWORK_ABSOLUTE_BUILD_DIR}"
INSTALL_RPATH
"@loader_path/../../../SharedFrameworks"
"@loader_path/../../System/Library/PrivateFrameworks"
"@loader_path/../../Library/PrivateFrameworks"
)
endif()