[Lldb-commits] [lldb] r351496 - [CMake] Prevent lldbDebugserverCommon from building if you disable debugserver builds

Alex Langford via lldb-commits lldb-commits at lists.llvm.org
Thu Jan 17 15:14:04 PST 2019


Author: xiaobai
Date: Thu Jan 17 15:14:04 2019
New Revision: 351496

URL: http://llvm.org/viewvc/llvm-project?rev=351496&view=rev
Log:
[CMake] Prevent lldbDebugserverCommon from building if you disable debugserver builds

Summary:
The flags `LLDB_USE_SYSTEM_DEBUGSERVER` and `LLDB_NO_DEBUGSERVER` were
introduced to the debugserver build. If one of these two flags are set, then we
do not build and sign debugserver. However I noticed that we were still building
the lldbDebugserverCommon and lldbDebugserverCommon_NonUI libraries regardless
of whether or not these flags were set. I don't believe we should be building
these libraries unless we are building and signing debugserver.

Reviewers: sgraenitz, davide, JDevlieghere, beanz, vsk, aprantl, labath

Subscribers: mgorny, jfb, lldb-commits

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

Modified:
    lldb/trunk/tools/debugserver/source/CMakeLists.txt
    lldb/trunk/unittests/CMakeLists.txt

Modified: lldb/trunk/tools/debugserver/source/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/CMakeLists.txt?rev=351496&r1=351495&r2=351496&view=diff
==============================================================================
--- lldb/trunk/tools/debugserver/source/CMakeLists.txt (original)
+++ lldb/trunk/tools/debugserver/source/CMakeLists.txt Thu Jan 17 15:14:04 2019
@@ -30,69 +30,6 @@ check_library_exists(compression compres
 
 add_subdirectory(MacOSX)
 
-set(generated_mach_interfaces
-  ${CMAKE_CURRENT_BINARY_DIR}/mach_exc.h
-  ${CMAKE_CURRENT_BINARY_DIR}/mach_excServer.c
-  ${CMAKE_CURRENT_BINARY_DIR}/mach_excUser.c
-  )
-add_custom_command(OUTPUT ${generated_mach_interfaces}
-  COMMAND mig ${CMAKE_CURRENT_SOURCE_DIR}/MacOSX/dbgnub-mig.defs
-  DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/MacOSX/dbgnub-mig.defs
-  )
-
-set(DEBUGSERVER_VERS_GENERATED_FILE ${CMAKE_CURRENT_BINARY_DIR}/debugserver_vers.c)
-set_source_files_properties(${DEBUGSERVER_VERS_GENERATED_FILE} PROPERTIES GENERATED 1)
-
-add_custom_command(OUTPUT ${DEBUGSERVER_VERS_GENERATED_FILE}
-  COMMAND ${LLDB_SOURCE_DIR}/scripts/generate-vers.pl
-          ${LLDB_SOURCE_DIR}/lldb.xcodeproj/project.pbxproj debugserver
-          > ${DEBUGSERVER_VERS_GENERATED_FILE}
-  DEPENDS ${LLDB_SOURCE_DIR}/scripts/generate-vers.pl
-          ${LLDB_SOURCE_DIR}/lldb.xcodeproj/project.pbxproj
-  )
-
-set(lldbDebugserverCommonSources
-  DNBArch.cpp
-  DNBBreakpoint.cpp
-  DNB.cpp
-  DNBDataRef.cpp
-  DNBError.cpp
-  DNBLog.cpp
-  DNBRegisterInfo.cpp
-  DNBThreadResumeActions.cpp
-  JSON.cpp
-  StdStringExtractor.cpp
-  # JSON reader depends on the following LLDB-common files
-  ${LLDB_SOURCE_DIR}/source/Host/common/StringConvert.cpp
-  ${LLDB_SOURCE_DIR}/source/Host/common/SocketAddress.cpp
-  # end JSON reader dependencies
-  libdebugserver.cpp
-  PseudoTerminal.cpp
-  PThreadEvent.cpp
-  PThreadMutex.cpp
-  RNBContext.cpp
-  RNBRemote.cpp
-  RNBServices.cpp
-  RNBSocket.cpp
-  SysSignal.cpp
-  TTYState.cpp
-
-  MacOSX/CFBundle.cpp
-  MacOSX/CFString.cpp
-  MacOSX/Genealogy.cpp
-  MacOSX/MachException.cpp
-  MacOSX/MachProcess.mm
-  MacOSX/MachTask.mm
-  MacOSX/MachThread.cpp
-  MacOSX/MachThreadList.cpp
-  MacOSX/MachVMMemory.cpp
-  MacOSX/MachVMRegion.cpp
-  MacOSX/OsLogger.cpp
-  ${generated_mach_interfaces}
-  ${DEBUGSERVER_VERS_GENERATED_FILE})
-
-add_library(lldbDebugserverCommon ${lldbDebugserverCommonSources})
-
 # LLDB-specific identity, currently used for code signing debugserver.
 set(LLDB_CODESIGN_IDENTITY "" CACHE STRING
     "Override code sign identity for debugserver and for use in tests; falls back to LLVM_CODESIGNING_IDENTITY if set or lldb_codesign otherwise (Darwin only)")
@@ -241,6 +178,69 @@ if(LLDB_USE_ENTITLEMENTS)
 endif()
 
 if(build_and_sign_debugserver)
+  set(generated_mach_interfaces
+    ${CMAKE_CURRENT_BINARY_DIR}/mach_exc.h
+    ${CMAKE_CURRENT_BINARY_DIR}/mach_excServer.c
+    ${CMAKE_CURRENT_BINARY_DIR}/mach_excUser.c
+    )
+  add_custom_command(OUTPUT ${generated_mach_interfaces}
+    COMMAND mig ${CMAKE_CURRENT_SOURCE_DIR}/MacOSX/dbgnub-mig.defs
+    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/MacOSX/dbgnub-mig.defs
+    )
+
+  set(DEBUGSERVER_VERS_GENERATED_FILE ${CMAKE_CURRENT_BINARY_DIR}/debugserver_vers.c)
+  set_source_files_properties(${DEBUGSERVER_VERS_GENERATED_FILE} PROPERTIES GENERATED 1)
+
+  add_custom_command(OUTPUT ${DEBUGSERVER_VERS_GENERATED_FILE}
+    COMMAND ${LLDB_SOURCE_DIR}/scripts/generate-vers.pl
+            ${LLDB_SOURCE_DIR}/lldb.xcodeproj/project.pbxproj debugserver
+            > ${DEBUGSERVER_VERS_GENERATED_FILE}
+    DEPENDS ${LLDB_SOURCE_DIR}/scripts/generate-vers.pl
+            ${LLDB_SOURCE_DIR}/lldb.xcodeproj/project.pbxproj
+    )
+
+  set(lldbDebugserverCommonSources
+    DNBArch.cpp
+    DNBBreakpoint.cpp
+    DNB.cpp
+    DNBDataRef.cpp
+    DNBError.cpp
+    DNBLog.cpp
+    DNBRegisterInfo.cpp
+    DNBThreadResumeActions.cpp
+    JSON.cpp
+    StdStringExtractor.cpp
+    # JSON reader depends on the following LLDB-common files
+    ${LLDB_SOURCE_DIR}/source/Host/common/StringConvert.cpp
+    ${LLDB_SOURCE_DIR}/source/Host/common/SocketAddress.cpp
+    # end JSON reader dependencies
+    libdebugserver.cpp
+    PseudoTerminal.cpp
+    PThreadEvent.cpp
+    PThreadMutex.cpp
+    RNBContext.cpp
+    RNBRemote.cpp
+    RNBServices.cpp
+    RNBSocket.cpp
+    SysSignal.cpp
+    TTYState.cpp
+
+    MacOSX/CFBundle.cpp
+    MacOSX/CFString.cpp
+    MacOSX/Genealogy.cpp
+    MacOSX/MachException.cpp
+    MacOSX/MachProcess.mm
+    MacOSX/MachTask.mm
+    MacOSX/MachThread.cpp
+    MacOSX/MachThreadList.cpp
+    MacOSX/MachVMMemory.cpp
+    MacOSX/MachVMRegion.cpp
+    MacOSX/OsLogger.cpp
+    ${generated_mach_interfaces}
+    ${DEBUGSERVER_VERS_GENERATED_FILE})
+
+  add_library(lldbDebugserverCommon ${lldbDebugserverCommonSources})
+
   target_link_libraries(lldbDebugserverCommon
                         INTERFACE ${COCOA_LIBRARY}
                         ${CORE_FOUNDATION_LIBRARY}
@@ -267,6 +267,7 @@ if(build_and_sign_debugserver)
     ENTITLEMENTS
       ${entitlements}
     )
+
   if(IOS)
     set_property(TARGET lldbDebugserverCommon APPEND PROPERTY COMPILE_DEFINITIONS
       WITH_LOCKDOWN
@@ -281,30 +282,28 @@ if(build_and_sign_debugserver)
     set_property(TARGET lldbDebugserverCommon APPEND PROPERTY COMPILE_FLAGS
       -F${CMAKE_OSX_SYSROOT}/System/Library/PrivateFrameworks
       )
-  endif()
-endif()
 
-if(IOS)
-  add_library(lldbDebugserverCommon_NonUI ${lldbDebugserverCommonSources})
-  target_link_libraries(lldbDebugserverCommon_NonUI
-                      INTERFACE ${COCOA_LIBRARY}
-                      ${CORE_FOUNDATION_LIBRARY}
-                      ${FOUNDATION_LIBRARY}
-                      lldbDebugserverArchSupport
-                      lldbDebugserverDarwin_DarwinLog
-                      ${LIBCOMPRESSION})
-  if(HAVE_LIBCOMPRESSION)
-    set_property(TARGET lldbDebugserverCommon_NonUI APPEND PROPERTY
-                 COMPILE_DEFINITIONS HAVE_LIBCOMPRESSION)
-  endif()
+    add_library(lldbDebugserverCommon_NonUI ${lldbDebugserverCommonSources})
+    target_link_libraries(lldbDebugserverCommon_NonUI
+                        INTERFACE ${COCOA_LIBRARY}
+                        ${CORE_FOUNDATION_LIBRARY}
+                        ${FOUNDATION_LIBRARY}
+                        lldbDebugserverArchSupport
+                        lldbDebugserverDarwin_DarwinLog
+                        ${LIBCOMPRESSION})
+    if(HAVE_LIBCOMPRESSION)
+      set_property(TARGET lldbDebugserverCommon_NonUI APPEND PROPERTY
+                   COMPILE_DEFINITIONS HAVE_LIBCOMPRESSION)
+    endif()
 
-  add_lldb_tool(debugserver-nonui
-    debugserver.cpp
+    add_lldb_tool(debugserver-nonui
+      debugserver.cpp
 
-    LINK_LIBS
-      lldbDebugserverCommon_NonUI
+      LINK_LIBS
+        lldbDebugserverCommon_NonUI
 
-    ENTITLEMENTS
-      ${entitlements}
-    )
+      ENTITLEMENTS
+        ${entitlements}
+      )
+  endif()
 endif()

Modified: lldb/trunk/unittests/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/CMakeLists.txt?rev=351496&r1=351495&r2=351496&view=diff
==============================================================================
--- lldb/trunk/unittests/CMakeLists.txt (original)
+++ lldb/trunk/unittests/CMakeLists.txt Thu Jan 17 15:14:04 2019
@@ -78,6 +78,6 @@ add_subdirectory(tools)
 add_subdirectory(UnwindAssembly)
 add_subdirectory(Utility)
 
-if(LLDB_CAN_USE_DEBUGSERVER)
+if(NOT SKIP_TEST_DEBUGSERVER)
   add_subdirectory(debugserver)
 endif()




More information about the lldb-commits mailing list