diff options
Diffstat (limited to 'source/Host/CMakeLists.txt')
-rw-r--r-- | source/Host/CMakeLists.txt | 190 |
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 () |