[llvm] a44ef99 - [NFC][CMake] Add FOLDER to utility targets

Chris Bieneman via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 3 10:16:51 PST 2022


Author: Chris Bieneman
Date: 2022-01-03T12:16:30-06:00
New Revision: a44ef999fb5e9243df9c4459df1b17b66aa3fd23

URL: https://github.com/llvm/llvm-project/commit/a44ef999fb5e9243df9c4459df1b17b66aa3fd23
DIFF: https://github.com/llvm/llvm-project/commit/a44ef999fb5e9243df9c4459df1b17b66aa3fd23.diff

LOG: [NFC][CMake] Add FOLDER to utility targets

As Visual Studio's CMake support is getting better and better the line
between IDE generator and non-IDE generators is blurring. Visual Studio
2019 and later have a very useful UI that can handle all of the various
targets we create, but if they are unsorted it is wildly unwieldy.

This change sorts the lit testsuite targets and per-component install
targets into folders, which are not generated for IDE generators but
are generated by default under Visual Studio's CMake + Ninja
integration.

Added: 
    

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

Removed: 
    


################################################################################
diff  --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
index 327b8e0ba2e73..4d19d9edecf4b 100644
--- a/llvm/cmake/modules/AddLLVM.cmake
+++ b/llvm/cmake/modules/AddLLVM.cmake
@@ -731,6 +731,7 @@ function(add_llvm_install_targets target)
                             ${prefix_option}
                             -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
                     USES_TERMINAL)
+  set_target_properties(${target} PROPERTIES FOLDER "Component Install Targets")
   add_custom_target(${target}-stripped
                     DEPENDS ${file_dependencies}
                     COMMAND "${CMAKE_COMMAND}"
@@ -739,6 +740,7 @@ function(add_llvm_install_targets target)
                             -DCMAKE_INSTALL_DO_STRIP=1
                             -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
                     USES_TERMINAL)
+  set_target_properties(${target}-stripped PROPERTIES FOLDER "Component Install Targets (Stripped)")
   if(target_dependencies)
     add_dependencies(${target} ${target_dependencies})
     add_dependencies(${target}-stripped ${target_dependencies})
@@ -1844,7 +1846,11 @@ endfunction()
 
 function(add_lit_testsuites project directory)
   if (NOT LLVM_ENABLE_IDE)
-    cmake_parse_arguments(ARG "EXCLUDE_FROM_CHECK_ALL" "" "PARAMS;DEPENDS;ARGS" ${ARGN})
+    cmake_parse_arguments(ARG "EXCLUDE_FROM_CHECK_ALL" "FOLDER" "PARAMS;DEPENDS;ARGS" ${ARGN})
+    
+    if (NOT ARG_FOLDER)
+      set(ARG_FOLDER "Test Subdirectories")
+    endif()
 
     # Search recursively for test directories by assuming anything not
     # in a directory called Inputs contains tests.
@@ -1872,6 +1878,7 @@ function(add_lit_testsuites project directory)
           DEPENDS ${ARG_DEPENDS}
           ARGS ${ARG_ARGS}
         )
+        set_target_properties(check-${name_var} PROPERTIES FOLDER ${ARG_FOLDER})
       endif()
     endforeach()
   endif()

diff  --git a/llvm/test/CMakeLists.txt b/llvm/test/CMakeLists.txt
index e588fd2f61598..6dbede4118134 100644
--- a/llvm/test/CMakeLists.txt
+++ b/llvm/test/CMakeLists.txt
@@ -228,6 +228,7 @@ set_target_properties(check-llvm PROPERTIES FOLDER "Tests")
 add_lit_testsuites(LLVM ${CMAKE_CURRENT_SOURCE_DIR}
   ${exclude_from_check_all}
   DEPENDS ${LLVM_TEST_DEPENDS}
+  FOLDER "Tests/Subdirectories"
   )
 
 # Setup an alias for 'check-all'.


        


More information about the llvm-commits mailing list