[llvm] r313191 - Revert "Determine up front which projects are enabled."

Zachary Turner via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 13 13:49:25 PDT 2017


Author: zturner
Date: Wed Sep 13 13:49:25 2017
New Revision: 313191

URL: http://llvm.org/viewvc/llvm-project?rev=313191&view=rev
Log:
Revert "Determine up front which projects are enabled."

This was intended to be a generic CMake solution to a problem
shared across several projects.  It turns out it doesn't interact
very well certain CMake configurations, and furthermore the
"problem" is actually not a problem, as the problematic code
is never executed to begin with.  So this really isn't solving
anything.

Modified:
    llvm/trunk/CMakeLists.txt
    llvm/trunk/cmake/modules/AddLLVM.cmake

Modified: llvm/trunk/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev=313191&r1=313190&r2=313191&view=diff
==============================================================================
--- llvm/trunk/CMakeLists.txt (original)
+++ llvm/trunk/CMakeLists.txt Wed Sep 13 13:49:25 2017
@@ -823,25 +823,6 @@ endif()
 include(AddLLVM)
 include(TableGen)
 
-
-# Find all subprojects which are either enabled in a side-by-side layout, or
-# cloned into a non-side-by-side layout.  Do this before adding any
-# subdirectories so that any project can check for the existence of any other
-# project.  Each call takes priority over the next call, so any project which
-# is enabled via LLVM_ENABLE_PROJECTS will not have its location or enabled
-# status overwritten via a subsequent call.
-
-# First look for all projects explicitly enabled at the root.
-find_llvm_enabled_projects("${LLVM_SOURCE_DIR}/.." "${LLVM_ENABLE_PROJECTS}")
-
-# Then pick up any projects explicitly cloned into llvm/projects or llvm/runtimes
-find_llvm_enabled_projects("${LLVM_SOURCE_DIR}/runtimes")
-find_llvm_enabled_projects("${LLVM_SOURCE_DIR}/projects")
-
-# Then pick up a few specific projects which can be explicit cloned into llvm/tools
-find_llvm_enabled_projects("${LLVM_SOURCE_DIR}/tools" "clang;lldb;lld")
-
-
 if( MINGW )
   # People report that -O3 is unreliable on MinGW. The traditional
   # build also uses -O2 for that reason:

Modified: llvm/trunk/cmake/modules/AddLLVM.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/AddLLVM.cmake?rev=313191&r1=313190&r2=313191&view=diff
==============================================================================
--- llvm/trunk/cmake/modules/AddLLVM.cmake (original)
+++ llvm/trunk/cmake/modules/AddLLVM.cmake Wed Sep 13 13:49:25 2017
@@ -687,7 +687,7 @@ macro(add_llvm_executable name)
     # it forces Xcode to properly link the static library.
     list(APPEND ALL_FILES "${LLVM_MAIN_SRC_DIR}/cmake/dummy.cpp")
   endif()
-
+  
   if( EXCLUDE_FROM_ALL )
     add_executable(${name} EXCLUDE_FROM_ALL ${ALL_FILES})
   else()
@@ -920,37 +920,6 @@ function(canonicalize_tool_name name out
   set(${output} "${nameUPPER}" PARENT_SCOPE)
 endfunction(canonicalize_tool_name)
 
-macro(find_llvm_enabled_projects base_dir)
-  set(specific_project_list "${ARGN}")
-  if("${specific_project_list}" STREQUAL "")
-    file(GLOB entries "${base_dir}/*")
-    set(list_of_project_dirs "")
-    foreach(entry ${entries})
-      if(IS_DIRECTORY ${entry} AND EXISTS ${entry}/CMakeLists.txt)
-        get_filename_component(filename "${entry}" NAME)
-        list(APPEND specific_project_list "${filename}")
-      endif()
-    endforeach(entry)
-  endif()
-
-  foreach(proj ${specific_project_list})
-    canonicalize_tool_name(${proj} projUPPER)
-
-    if (${LLVM_PROJECT_${projUPPER}_ENABLED})
-      if (EXISTS "${base_dir}/${proj}")
-        message(WARNING "Project ${projUPPER} in ${base_dir}/${proj} previously found in ${LLVM_PROJECT_${projUPPER}_SOURCE_DIR}")
-      endif()
-      continue()
-    elseif(EXISTS "${LLVM_EXTERNAL_${projUPPER}_SOURCE_DIR}")
-      set(LLVM_PROJECT_${projUPPER}_ENABLED ON)
-      set(LLVM_PROJECT_${projUPPER}_SOURCE_DIR "${LLVM_EXTERNAL_${projUPPER}_SOURCE_DIR}")
-    elseif(EXISTS "${base_dir}/${proj}")
-      set(LLVM_PROJECT_${projUPPER}_ENABLED ON)
-      set(LLVM_PROJECT_${projUPPER}_SOURCE_DIR "${base_dir}/${proj}")
-    endif()
-  endforeach()
-endmacro()
-
 # Custom add_subdirectory wrapper
 # Takes in a project name (i.e. LLVM), the subdirectory name, and an optional
 # path if it differs from the name.
@@ -1381,7 +1350,7 @@ function(add_llvm_tool_symlink link_name
   # magic. First we grab one of the types, and a type-specific path. Then from
   # the type-specific path we find the last occurrence of the type in the path,
   # and replace it with CMAKE_CFG_INTDIR. This allows the build step to be type
-  # agnostic again.
+  # agnostic again. 
   if(NOT ARG_OUTPUT_DIR)
     # If you're not overriding the OUTPUT_DIR, we can make the link relative in
     # the same directory.




More information about the llvm-commits mailing list