dawn created this revision.
dawn added reviewers: sas, clayborg, zturner.
dawn added a subscriber: lldb-commits.
dawn set the repository for this revision to rL LLVM.

This fixes the cmake build on OSX when building in a new workspace.   It 
reverts r249434 and instead fixes the issue as proposed in lldb-dev in message 
'cmake question and [PATCH] for Undefined symbol "_liblldb_coreVersionString"'. 
 It gets the warning:
    ninja: warning: multiple rules generate tools/lldb/source/LLDB_vers.c. 
builds involving this target will not be correct; continuing anyway
(which no one was able to suggest a fix for in lldb-dev), but at least it fixes 
the problem without breaking the entire build :)

Repository:
  rL LLVM

http://reviews.llvm.org/D13535

Files:
  cmake/LLDBDependencies.cmake
  source/CMakeLists.txt
  tools/lldb-server/CMakeLists.txt

Index: tools/lldb-server/CMakeLists.txt
===================================================================
--- tools/lldb-server/CMakeLists.txt
+++ tools/lldb-server/CMakeLists.txt
@@ -35,9 +35,14 @@
     lldb-server.cpp
     LLDBServerUtilities.cpp
     ../../source/lldb.cpp
+    ${LLDB_VERS_GENERATED_FILE}
     )
 
-  # The Darwin linker doesn't understand --start-group/--end-group.
+  if (LLDB_VERS_GENERATED_FILE)
+    add_dependencies(lldb-server swig_wrapper)
+  endif()
+
+# The Darwin linker doesn't understand --start-group/--end-group.
   if (LLDB_LINKER_SUPPORTS_GROUPS)
     target_link_libraries(lldb-server
                           -Wl,--start-group ${LLDB_USED_LIBS} -Wl,--end-group)
Index: source/CMakeLists.txt
===================================================================
--- source/CMakeLists.txt
+++ source/CMakeLists.txt
@@ -14,19 +14,8 @@
   )
 endif ()
 
-if ( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
-  set(LLDB_VERS_GENERATED_FILE ${LLDB_BINARY_DIR}/source/LLDB_vers.c)
-  add_custom_command(OUTPUT ${LLDB_VERS_GENERATED_FILE}
-    COMMAND ${LLDB_SOURCE_DIR}/scripts/generate-vers.pl
-            ${LLDB_SOURCE_DIR}/lldb.xcodeproj/project.pbxproj liblldb_core
-            > ${LLDB_VERS_GENERATED_FILE})
-
-  set_source_files_properties(${LLDB_VERS_GENERATED_FILE} PROPERTIES GENERATED 
1)
-endif ()
-
 add_lldb_library(lldbBase
   lldb.cpp
-   ${LLDB_VERS_GENERATED_FILE}
   )
 
 add_subdirectory(Breakpoint)
Index: cmake/LLDBDependencies.cmake
===================================================================
--- cmake/LLDBDependencies.cmake
+++ cmake/LLDBDependencies.cmake
@@ -104,6 +104,13 @@
 
 # Darwin-only libraries
 if ( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
+  set(LLDB_VERS_GENERATED_FILE ${LLDB_BINARY_DIR}/source/LLDB_vers.c)
+  add_custom_command(OUTPUT ${LLDB_VERS_GENERATED_FILE}
+    COMMAND ${LLDB_SOURCE_DIR}/scripts/generate-vers.pl
+            ${LLDB_SOURCE_DIR}/lldb.xcodeproj/project.pbxproj liblldb_core
+            > ${LLDB_VERS_GENERATED_FILE})
+
+  set_source_files_properties(${LLDB_VERS_GENERATED_FILE} PROPERTIES GENERATED 
1)
   list(APPEND LLDB_USED_LIBS
     lldbPluginDynamicLoaderDarwinKernel
     lldbPluginObjectFileMachO


Index: tools/lldb-server/CMakeLists.txt
===================================================================
--- tools/lldb-server/CMakeLists.txt
+++ tools/lldb-server/CMakeLists.txt
@@ -35,9 +35,14 @@
     lldb-server.cpp
     LLDBServerUtilities.cpp
     ../../source/lldb.cpp
+    ${LLDB_VERS_GENERATED_FILE}
     )
 
-  # The Darwin linker doesn't understand --start-group/--end-group.
+  if (LLDB_VERS_GENERATED_FILE)
+    add_dependencies(lldb-server swig_wrapper)
+  endif()
+
+# The Darwin linker doesn't understand --start-group/--end-group.
   if (LLDB_LINKER_SUPPORTS_GROUPS)
     target_link_libraries(lldb-server
                           -Wl,--start-group ${LLDB_USED_LIBS} -Wl,--end-group)
Index: source/CMakeLists.txt
===================================================================
--- source/CMakeLists.txt
+++ source/CMakeLists.txt
@@ -14,19 +14,8 @@
   )
 endif ()
 
-if ( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
-  set(LLDB_VERS_GENERATED_FILE ${LLDB_BINARY_DIR}/source/LLDB_vers.c)
-  add_custom_command(OUTPUT ${LLDB_VERS_GENERATED_FILE}
-    COMMAND ${LLDB_SOURCE_DIR}/scripts/generate-vers.pl
-            ${LLDB_SOURCE_DIR}/lldb.xcodeproj/project.pbxproj liblldb_core
-            > ${LLDB_VERS_GENERATED_FILE})
-
-  set_source_files_properties(${LLDB_VERS_GENERATED_FILE} PROPERTIES GENERATED 1)
-endif ()
-
 add_lldb_library(lldbBase
   lldb.cpp
-   ${LLDB_VERS_GENERATED_FILE}
   )
 
 add_subdirectory(Breakpoint)
Index: cmake/LLDBDependencies.cmake
===================================================================
--- cmake/LLDBDependencies.cmake
+++ cmake/LLDBDependencies.cmake
@@ -104,6 +104,13 @@
 
 # Darwin-only libraries
 if ( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
+  set(LLDB_VERS_GENERATED_FILE ${LLDB_BINARY_DIR}/source/LLDB_vers.c)
+  add_custom_command(OUTPUT ${LLDB_VERS_GENERATED_FILE}
+    COMMAND ${LLDB_SOURCE_DIR}/scripts/generate-vers.pl
+            ${LLDB_SOURCE_DIR}/lldb.xcodeproj/project.pbxproj liblldb_core
+            > ${LLDB_VERS_GENERATED_FILE})
+
+  set_source_files_properties(${LLDB_VERS_GENERATED_FILE} PROPERTIES GENERATED 1)
   list(APPEND LLDB_USED_LIBS
     lldbPluginDynamicLoaderDarwinKernel
     lldbPluginObjectFileMachO
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to