[sanitizer] Improve FreeBSD ASLR detection
[llvm-project.git] / lldb / tools / lldb-vscode / CMakeLists.txt
blob4745d50bb27397a72ded2867f59fa6ee8b800a48
1 if ( CMAKE_SYSTEM_NAME MATCHES "Windows" OR CMAKE_SYSTEM_NAME MATCHES "NetBSD" )
2   add_definitions( -DIMPORT_LIBLLDB )
3   list(APPEND extra_libs lldbHost)
4 endif ()
6 if (HAVE_LIBPTHREAD)
7   list(APPEND extra_libs pthread)
8 endif ()
11 if(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")
18 endif()
20 # We need to include the llvm components we depend on manually, as liblldb does
21 # not re-export those.
22 set(LLVM_LINK_COMPONENTS Support)
23 set(LLVM_TARGET_DEFINITIONS Options.td)
24 tablegen(LLVM Options.inc -gen-opt-parser-defs)
25 add_public_tablegen_target(LLDBVSCodeOptionsTableGen)
26 add_lldb_tool(lldb-vscode
27   lldb-vscode.cpp
28   BreakpointBase.cpp
29   ExceptionBreakpoint.cpp
30   FifoFiles.cpp
31   FunctionBreakpoint.cpp
32   IOStream.cpp
33   JSONUtils.cpp
34   LLDBUtils.cpp
35   OutputRedirector.cpp
36   ProgressEvent.cpp
37   RunInTerminal.cpp
38   SourceBreakpoint.cpp
39   VSCode.cpp
41   LINK_LIBS
42     liblldb
43     ${extra_libs}
45   LINK_COMPONENTS
46     Option
47     Support
48   )
50 if(LLDB_BUILD_FRAMEWORK)
51   # In the build-tree, we know the exact path to the framework directory.
52   # The installed framework can be in different locations.
53   lldb_setup_rpaths(lldb-vscode
54     BUILD_RPATH
55       "${LLDB_FRAMEWORK_ABSOLUTE_BUILD_DIR}"
56     INSTALL_RPATH
57       "@loader_path/../../../SharedFrameworks"
58       "@loader_path/../../System/Library/PrivateFrameworks"
59       "@loader_path/../../Library/PrivateFrameworks"
60   )
61 endif()