llvm-project/lldb/tools/driver/CMakeLists.txt
Alex Langford 27510c18ad Introduce lldb-framework CMake target and centralize its logic
Summary:
In this patch I aim to do the following:

1) Create an lldb-framework target that acts as the target that handles generating LLDB.framework. Previously, liblldb acted as the target for generating the framework in addition to generating the actual lldb library. This made the target feel overloaded.
2) Centralize framework generation as much as it makes sense to do so.
3) Create a target lldb-suite, which depends on every tool and library that makes liblldb fully functional. One result of having this target is it makes tracking dependencies much clearer.

Differential Revision: https://reviews.llvm.org/D48060

llvm-svn: 334968
2018-06-18 18:27:16 +00:00

28 lines
706 B
CMake

if ((CMAKE_SYSTEM_NAME MATCHES "Windows") OR
(CMAKE_SYSTEM_NAME MATCHES "NetBSD" ))
# These targets do not have getopt support, so they rely on the one provided by
# liblldb. However, getopt is not a part of the liblldb interface, so we have
# to link against the constituent libraries manually. Note that this is
# extremely scary as it introduces ODR violations, and it should go away as
# soon as possible.
set(host_lib lldbHost)
endif()
add_lldb_tool(lldb
Driver.cpp
Platform.cpp
LINK_LIBS
liblldb
${host_lib}
LINK_COMPONENTS
Support
)
if ( CMAKE_SYSTEM_NAME MATCHES "Windows" )
add_definitions( -DIMPORT_LIBLLDB )
endif()
add_dependencies(lldb lldb-suite)