| macro(add_host_subdirectory group) |
| list(APPEND HOST_SOURCES ${ARGN}) |
| source_group(${group} FILES ${ARGN}) |
| endmacro() |
| |
| # Removes all module flags from the current CMAKE_CXX_FLAGS. Used for |
| # the Objective-C++ code in lldb which we don't want to build with modules. |
| # Reasons for this are that modules with Objective-C++ would require that |
| # all LLVM/Clang modules are Objective-C++ compatible (which they are likely |
| # not) and we would have rebuild a second set of modules just for the few |
| # Objective-C++ files in lldb (which slows down the build process). |
| macro(remove_module_flags) |
| string(REGEX REPLACE "-fmodules-cache-path=[^ ]+" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") |
| string(REGEX REPLACE "-fmodules" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") |
| string(REGEX REPLACE "-fcxx-modules" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") |
| endmacro() |
| |
| add_host_subdirectory(common |
| common/File.cpp |
| common/FileCache.cpp |
| common/FileSystem.cpp |
| common/GetOptInc.cpp |
| common/Host.cpp |
| common/HostInfoBase.cpp |
| common/HostNativeThreadBase.cpp |
| common/HostProcess.cpp |
| common/HostThread.cpp |
| common/LockFileBase.cpp |
| common/MainLoop.cpp |
| common/MonitoringProcessLauncher.cpp |
| common/NativeBreakpoint.cpp |
| common/NativeBreakpointList.cpp |
| common/NativeWatchpointList.cpp |
| common/NativeProcessProtocol.cpp |
| common/NativeRegisterContext.cpp |
| common/NativeThreadProtocol.cpp |
| common/OptionParser.cpp |
| common/PipeBase.cpp |
| common/ProcessRunLock.cpp |
| common/PseudoTerminal.cpp |
| common/Socket.cpp |
| common/SocketAddress.cpp |
| common/SoftwareBreakpoint.cpp |
| common/StringConvert.cpp |
| common/Symbols.cpp |
| common/TaskPool.cpp |
| common/TCPSocket.cpp |
| common/Terminal.cpp |
| common/ThreadLauncher.cpp |
| common/XML.cpp |
| common/UDPSocket.cpp |
| ) |
| |
| if (NOT LLDB_DISABLE_LIBEDIT) |
| add_host_subdirectory(common |
| common/Editline.cpp |
| ) |
| endif() |
| |
| add_host_subdirectory(posix |
| posix/ConnectionFileDescriptorPosix.cpp |
| ) |
| |
| if (CMAKE_SYSTEM_NAME MATCHES "Windows") |
| add_host_subdirectory(windows |
| windows/ConnectionGenericFileWindows.cpp |
| windows/EditLineWin.cpp |
| windows/FileSystem.cpp |
| windows/Host.cpp |
| windows/HostInfoWindows.cpp |
| windows/HostProcessWindows.cpp |
| windows/HostThreadWindows.cpp |
| windows/LockFileWindows.cpp |
| windows/PipeWindows.cpp |
| windows/ProcessLauncherWindows.cpp |
| windows/ProcessRunLock.cpp |
| windows/Windows.cpp |
| ) |
| else() |
| add_host_subdirectory(posix |
| posix/DomainSocket.cpp |
| posix/FileSystem.cpp |
| posix/HostInfoPosix.cpp |
| posix/HostProcessPosix.cpp |
| posix/HostThreadPosix.cpp |
| posix/LockFilePosix.cpp |
| posix/PipePosix.cpp |
| posix/ProcessLauncherPosixFork.cpp |
| ) |
| |
| if (CMAKE_SYSTEM_NAME MATCHES "Darwin") |
| include_directories(SYSTEM ${LIBXML2_INCLUDE_DIR}) |
| add_subdirectory(macosx/objcxx) |
| set(LLDBObjCLibs lldbHostMacOSXObjCXX) |
| add_host_subdirectory(maqcosx |
| macosx/Symbols.cpp |
| macosx/cfcpp/CFCBundle.cpp |
| macosx/cfcpp/CFCData.cpp |
| macosx/cfcpp/CFCMutableArray.cpp |
| macosx/cfcpp/CFCMutableDictionary.cpp |
| macosx/cfcpp/CFCMutableSet.cpp |
| macosx/cfcpp/CFCString.cpp |
| ) |
| if(IOS) |
| set_property(SOURCE macosx/Host.mm APPEND PROPERTY |
| COMPILE_DEFINITIONS "NO_XPC_SERVICES=1") |
| endif() |
| |
| |
| elseif (CMAKE_SYSTEM_NAME MATCHES "Linux|Android") |
| add_host_subdirectory(linux |
| linux/AbstractSocket.cpp |
| linux/Host.cpp |
| linux/HostInfoLinux.cpp |
| linux/LibcGlue.cpp |
| linux/Support.cpp |
| ) |
| if (CMAKE_SYSTEM_NAME MATCHES "Android") |
| add_host_subdirectory(android |
| android/HostInfoAndroid.cpp |
| android/LibcGlue.cpp |
| ) |
| endif() |
| elseif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") |
| add_host_subdirectory(freebsd |
| freebsd/Host.cpp |
| freebsd/HostInfoFreeBSD.cpp |
| ) |
| |
| elseif (CMAKE_SYSTEM_NAME MATCHES "NetBSD") |
| add_host_subdirectory(netbsd |
| netbsd/Host.cpp |
| netbsd/HostInfoNetBSD.cpp |
| ) |
| |
| elseif (CMAKE_SYSTEM_NAME MATCHES "OpenBSD") |
| add_host_subdirectory(openbsd |
| openbsd/Host.cpp |
| openbsd/HostInfoOpenBSD.cpp |
| ) |
| endif() |
| endif() |
| |
| set(EXTRA_LIBS) |
| if (CMAKE_SYSTEM_NAME MATCHES "NetBSD") |
| list(APPEND EXTRA_LIBS kvm) |
| endif () |
| if (APPLE) |
| list(APPEND EXTRA_LIBS xml2) |
| else () |
| if (LIBXML2_FOUND) |
| list(APPEND EXTRA_LIBS ${LIBXML2_LIBRARIES}) |
| endif() |
| endif () |
| if (HAVE_LIBDL) |
| list(APPEND EXTRA_LIBS ${CMAKE_DL_LIBS}) |
| endif() |
| if (NOT LLDB_DISABLE_LIBEDIT) |
| list(APPEND EXTRA_LIBS edit) |
| endif() |
| |
| add_lldb_library(lldbHost |
| ${HOST_SOURCES} |
| |
| LINK_LIBS |
| lldbCore |
| lldbSymbol |
| lldbTarget |
| lldbUtility |
| ${EXTRA_LIBS} |
| ${LLDBObjCLibs} |
| |
| LINK_COMPONENTS |
| Object |
| Support |
| ) |