summaryrefslogtreecommitdiff
path: root/source/Host/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'source/Host/CMakeLists.txt')
-rw-r--r--source/Host/CMakeLists.txt190
1 files changed, 190 insertions, 0 deletions
diff --git a/source/Host/CMakeLists.txt b/source/Host/CMakeLists.txt
new file mode 100644
index 0000000000000..776fcfb44ffa3
--- /dev/null
+++ b/source/Host/CMakeLists.txt
@@ -0,0 +1,190 @@
+macro(add_host_subdirectory group)
+ list(APPEND HOST_SOURCES ${ARGN})
+ source_group(${group} FILES ${ARGN})
+endmacro()
+
+add_host_subdirectory(common
+ common/Condition.cpp
+ common/File.cpp
+ common/FileCache.cpp
+ common/FileSpec.cpp
+ common/FileSystem.cpp
+ common/GetOptInc.cpp
+ common/Host.cpp
+ common/HostInfoBase.cpp
+ common/HostNativeThreadBase.cpp
+ common/HostProcess.cpp
+ common/HostThread.cpp
+ common/IOObject.cpp
+ common/LockFileBase.cpp
+ common/Mutex.cpp
+ common/MonitoringProcessLauncher.cpp
+ common/NativeBreakpoint.cpp
+ common/NativeBreakpointList.cpp
+ common/NativeWatchpointList.cpp
+ common/NativeProcessProtocol.cpp
+ common/NativeRegisterContext.cpp
+ common/NativeRegisterContextRegisterInfo.cpp
+ common/NativeThreadProtocol.cpp
+ common/OptionParser.cpp
+ common/PipeBase.cpp
+ common/ProcessRunLock.cpp
+ common/Socket.cpp
+ common/SocketAddress.cpp
+ common/SoftwareBreakpoint.cpp
+ common/StringConvert.cpp
+ common/Symbols.cpp
+ common/TCPSocket.cpp
+ common/Terminal.cpp
+ common/ThisThread.cpp
+ common/ThreadLauncher.cpp
+ common/TimeValue.cpp
+ common/XML.cpp
+ common/UDPSocket.cpp
+ )
+
+# Keep track of whether we want to provide a define for the
+# Python's architecture-specific lib path (i.e. where a
+# Python lldb module would go).
+set (get_python_libdir 0)
+
+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/Condition.cpp
+ 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/Mutex.cpp
+ windows/PipeWindows.cpp
+ windows/ProcessLauncherWindows.cpp
+ windows/ProcessRunLock.cpp
+ windows/ThisThread.cpp
+ windows/Windows.cpp
+ )
+else()
+ if (NOT LLDB_DISABLE_PYTHON)
+ # We'll grab the arch-specific python libdir on POSIX systems.
+ set (get_python_libdir 1)
+ endif()
+
+ add_host_subdirectory(posix
+ posix/DomainSocket.cpp
+ posix/FileSystem.cpp
+ posix/HostInfoPosix.cpp
+ posix/HostProcessPosix.cpp
+ posix/HostThreadPosix.cpp
+ posix/LockFilePosix.cpp
+ posix/MainLoopPosix.cpp
+ posix/PipePosix.cpp
+ )
+
+ if (NOT __ANDROID_NDK__)
+ add_host_subdirectory(posix
+ posix/ProcessLauncherPosix.cpp
+ )
+ endif()
+
+ if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
+ include_directories(SYSTEM ${LIBXML2_INCLUDE_DIR})
+ add_host_subdirectory(macosx
+ macosx/Host.mm
+ macosx/HostInfoMacOSX.mm
+ macosx/HostThreadMacOSX.mm
+ macosx/Symbols.cpp
+ macosx/ThisThread.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
+ )
+
+ elseif (CMAKE_SYSTEM_NAME MATCHES "Linux")
+ if (__ANDROID_NDK__)
+ add_host_subdirectory(android
+ android/HostInfoAndroid.cpp
+ android/LibcGlue.cpp
+ android/ProcessLauncherAndroid.cpp
+ linux/AbstractSocket.cpp
+ linux/Host.cpp
+ linux/HostInfoLinux.cpp
+ linux/HostThreadLinux.cpp
+ linux/LibcGlue.cpp
+ linux/ThisThread.cpp
+ )
+ else()
+ add_host_subdirectory(linux
+ linux/AbstractSocket.cpp
+ linux/Host.cpp
+ linux/HostInfoLinux.cpp
+ linux/HostThreadLinux.cpp
+ linux/LibcGlue.cpp
+ linux/ThisThread.cpp
+ )
+ endif()
+
+ elseif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
+ add_host_subdirectory(freebsd
+ freebsd/Host.cpp
+ freebsd/HostInfoFreeBSD.cpp
+ freebsd/HostThreadFreeBSD.cpp
+ freebsd/ThisThread.cpp
+ )
+
+ elseif (CMAKE_SYSTEM_NAME MATCHES "NetBSD")
+ add_host_subdirectory(netbsd
+ netbsd/Host.cpp
+ netbsd/HostInfoNetBSD.cpp
+ netbsd/HostThreadNetBSD.cpp
+ netbsd/ThisThread.cpp
+ )
+ endif()
+endif()
+
+if (${get_python_libdir})
+ # Call a python script to gather the arch-specific libdir for
+ # modules like the lldb module.
+ execute_process(
+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/get_relative_lib_dir.py
+ RESULT_VARIABLE get_libdir_status
+ OUTPUT_VARIABLE relative_libdir
+ )
+ if (get_libdir_status EQUAL 0)
+ add_definitions(-DLLDB_PYTHON_RELATIVE_LIBDIR="${relative_libdir}")
+ endif()
+endif()
+
+if (${get_python_libdir})
+ # Call a python script to gather the arch-specific libdir for
+ # modules like the lldb module.
+ execute_process(
+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/get_relative_lib_dir.py
+ RESULT_VARIABLE get_libdir_status
+ OUTPUT_VARIABLE relative_libdir
+ )
+ if (get_libdir_status EQUAL 0)
+ add_definitions(-DLLDB_PYTHON_RELATIVE_LIBDIR="${relative_libdir}")
+ endif()
+endif()
+
+add_lldb_library(lldbHost ${HOST_SOURCES})
+
+if (CMAKE_SYSTEM_NAME MATCHES "NetBSD")
+target_link_libraries(lldbHost kvm)
+endif ()