[llvm-branch-commits] [lldb] [lldb] Revise IDE folder structure (PR #89748)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue May 21 08:54:31 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-lldb
Author: Michael Kruse (Meinersbur)
<details>
<summary>Changes</summary>
Reviewers of #<!-- -->89153 suggested to break up the patch into per-subproject patches. This is the LLDB part. See #<!-- -->89153 for the entire series and motivation.
Update the folder titles for targets in the monorepository that have not seen taken care of for some time. These are the folders that targets are organized in Visual Studio and XCode (`set_property(TARGET <target> PROPERTY FOLDER "<title>")`) when using the respective CMake's IDE generator.
* Ensure that every target is in a folder
* Use a folder hierarchy with each LLVM subproject as a top-level folder
* Use consistent folder names between subprojects
* When using target-creating functions from AddLLVM.cmake, automatically deduce the folder. This reduces the number of `set_property`/`set_target_property`, but are still necessary when `add_custom_target`, `add_executable`, `add_library`, etc. are used. A LLVM_SUBPROJECT_TITLE definition is used for that in each subproject's root CMakeLists.txt.
---
Full diff: https://github.com/llvm/llvm-project/pull/89748.diff
21 Files Affected:
- (modified) lldb/CMakeLists.txt (+1)
- (modified) lldb/cmake/modules/AddLLDB.cmake (+2-4)
- (modified) lldb/cmake/modules/LLDBConfig.cmake (+1-1)
- (modified) lldb/cmake/modules/LLDBFramework.cmake (+1-1)
- (modified) lldb/cmake/modules/LLDBStandalone.cmake (+2-2)
- (modified) lldb/docs/CMakeLists.txt (+1)
- (modified) lldb/source/API/CMakeLists.txt (-2)
- (modified) lldb/test/API/CMakeLists.txt (+1)
- (modified) lldb/test/CMakeLists.txt (+2-2)
- (modified) lldb/test/Shell/CMakeLists.txt (+1)
- (modified) lldb/test/Unit/CMakeLists.txt (+1)
- (modified) lldb/tools/driver/CMakeLists.txt (-2)
- (modified) lldb/tools/lldb-fuzzer/lldb-commandinterpreter-fuzzer/CMakeLists.txt (+1)
- (modified) lldb/tools/lldb-fuzzer/lldb-target-fuzzer/CMakeLists.txt (+1)
- (modified) lldb/tools/lldb-server/CMakeLists.txt (-1)
- (modified) lldb/unittests/CMakeLists.txt (+1-1)
- (modified) lldb/unittests/tools/lldb-server/CMakeLists.txt (+1-1)
- (modified) lldb/utils/TableGen/CMakeLists.txt (-1)
- (modified) lldb/utils/lit-cpuid/CMakeLists.txt (+1-1)
- (modified) lldb/utils/lldb-dotest/CMakeLists.txt (+1-1)
- (modified) lldb/utils/lldb-repro/CMakeLists.txt (+1-1)
``````````diff
diff --git a/lldb/CMakeLists.txt b/lldb/CMakeLists.txt
index 7844d93d78d29..db9e5517e287b 100644
--- a/lldb/CMakeLists.txt
+++ b/lldb/CMakeLists.txt
@@ -1,4 +1,5 @@
cmake_minimum_required(VERSION 3.20.0)
+set(LLVM_SUBPROJECT_TITLE "LLDB")
if(NOT DEFINED LLVM_COMMON_CMAKE_UTILS)
set(LLVM_COMMON_CMAKE_UTILS ${CMAKE_CURRENT_SOURCE_DIR}/../cmake)
diff --git a/lldb/cmake/modules/AddLLDB.cmake b/lldb/cmake/modules/AddLLDB.cmake
index fdc4ee0c05d75..538029037dd46 100644
--- a/lldb/cmake/modules/AddLLDB.cmake
+++ b/lldb/cmake/modules/AddLLDB.cmake
@@ -29,7 +29,6 @@ function(lldb_tablegen)
if(LTG_TARGET)
add_public_tablegen_target(${LTG_TARGET})
- set_target_properties( ${LTG_TARGET} PROPERTIES FOLDER "LLDB tablegenning")
set_property(GLOBAL APPEND PROPERTY LLDB_TABLEGEN_TARGETS ${LTG_TARGET})
endif()
endfunction(lldb_tablegen)
@@ -165,10 +164,10 @@ function(add_lldb_library name)
get_property(parent_dir DIRECTORY PROPERTY PARENT_DIRECTORY)
if(EXISTS ${parent_dir})
get_filename_component(category ${parent_dir} NAME)
- set_target_properties(${name} PROPERTIES FOLDER "lldb plugins/${category}")
+ set_target_properties(${name} PROPERTIES FOLDER "LLDB/Plugins/${category}")
endif()
else()
- set_target_properties(${name} PROPERTIES FOLDER "lldb libraries")
+ set_target_properties(${name} PROPERTIES FOLDER "LLDB/Libraries")
endif()
# If we want to export all lldb symbols (i.e LLDB_EXPORT_ALL_SYMBOLS=ON), we
@@ -208,7 +207,6 @@ function(add_lldb_executable name)
else()
target_link_libraries(${name} PRIVATE ${ARG_CLANG_LIBS})
endif()
- set_target_properties(${name} PROPERTIES FOLDER "lldb executables")
if (ARG_BUILD_RPATH)
set_target_properties(${name} PROPERTIES BUILD_RPATH "${ARG_BUILD_RPATH}")
diff --git a/lldb/cmake/modules/LLDBConfig.cmake b/lldb/cmake/modules/LLDBConfig.cmake
index a758261073ac5..13d07a4fabd6d 100644
--- a/lldb/cmake/modules/LLDBConfig.cmake
+++ b/lldb/cmake/modules/LLDBConfig.cmake
@@ -271,7 +271,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
)
add_custom_target(lldb-headers)
- set_target_properties(lldb-headers PROPERTIES FOLDER "lldb misc")
+ set_target_properties(lldb-headers PROPERTIES FOLDER "LLDB/Resources")
if (NOT CMAKE_CONFIGURATION_TYPES)
add_llvm_install_targets(install-lldb-headers
diff --git a/lldb/cmake/modules/LLDBFramework.cmake b/lldb/cmake/modules/LLDBFramework.cmake
index f915839f6b45a..88ea6a568ec4c 100644
--- a/lldb/cmake/modules/LLDBFramework.cmake
+++ b/lldb/cmake/modules/LLDBFramework.cmake
@@ -104,7 +104,7 @@ endforeach()
# Wrap output in a target, so lldb-framework can depend on it.
add_custom_target(liblldb-resource-headers DEPENDS ${lldb_staged_headers})
-set_target_properties(liblldb-resource-headers PROPERTIES FOLDER "lldb misc")
+set_target_properties(liblldb-resource-headers PROPERTIES FOLDER "LLDB/Resources")
add_dependencies(liblldb liblldb-resource-headers)
# At build time, copy the staged headers into the framework bundle (and do
diff --git a/lldb/cmake/modules/LLDBStandalone.cmake b/lldb/cmake/modules/LLDBStandalone.cmake
index fd16716d71419..c9367214848fd 100644
--- a/lldb/cmake/modules/LLDBStandalone.cmake
+++ b/lldb/cmake/modules/LLDBStandalone.cmake
@@ -118,8 +118,8 @@ if(LLVM_USE_FOLDERS)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
endif()
-set_target_properties(clang-tablegen-targets PROPERTIES FOLDER "lldb misc")
-set_target_properties(intrinsics_gen PROPERTIES FOLDER "lldb misc")
+set_target_properties(clang-tablegen-targets PROPERTIES FOLDER "Clang/Tablegenning")
+set_target_properties(intrinsics_gen PROPERTIES FOLDER "LLVM/Tablegenning")
if(NOT DEFINED LLVM_COMMON_CMAKE_UTILS)
set(LLVM_COMMON_CMAKE_UTILS ${CMAKE_CURRENT_SOURCE_DIR}/../cmake)
diff --git a/lldb/docs/CMakeLists.txt b/lldb/docs/CMakeLists.txt
index af18eb22e9546..f482e91d1b10c 100644
--- a/lldb/docs/CMakeLists.txt
+++ b/lldb/docs/CMakeLists.txt
@@ -13,6 +13,7 @@ if(DOXYGEN_FOUND)
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating LLDB C++ API reference with Doxygen" VERBATIM
)
+ set_target_properties(lldb-cpp-doc PROPERTIES FOLDER "LLDB/Docs")
endif()
if (LLVM_ENABLE_SPHINX)
diff --git a/lldb/source/API/CMakeLists.txt b/lldb/source/API/CMakeLists.txt
index 57cc44f764675..3758fae3e40bc 100644
--- a/lldb/source/API/CMakeLists.txt
+++ b/lldb/source/API/CMakeLists.txt
@@ -193,7 +193,6 @@ if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
"Only the SB API is guaranteed to be stable.")
add_llvm_symbol_exports(liblldb "${LLDB_EXPORT_ALL_SYMBOLS_EXPORTS_FILE}")
endif()
- set_target_properties(liblldb_exports PROPERTIES FOLDER "lldb misc")
elseif (LLDB_EXPORT_ALL_SYMBOLS)
MESSAGE("-- Symbols (liblldb): exporting all symbols from the lldb and lldb_private namespaces")
@@ -232,7 +231,6 @@ elseif (LLDB_EXPORT_ALL_SYMBOLS)
)
add_llvm_symbol_exports(liblldb ${exported_symbol_file})
- set_target_properties(liblldb_exports PROPERTIES FOLDER "lldb misc")
endif()
if (NOT MSVC)
diff --git a/lldb/test/API/CMakeLists.txt b/lldb/test/API/CMakeLists.txt
index 9196f54ce1ae3..856beb894208c 100644
--- a/lldb/test/API/CMakeLists.txt
+++ b/lldb/test/API/CMakeLists.txt
@@ -1,4 +1,5 @@
add_custom_target(lldb-api-test-deps)
+set_target_properties(lldb-api-test-deps PROPERTIES FOLDER "LLDB/Tests")
add_dependencies(lldb-api-test-deps lldb-test-depends)
add_lit_testsuites(LLDB-API
diff --git a/lldb/test/CMakeLists.txt b/lldb/test/CMakeLists.txt
index 6a9ca59f96b0f..5ac474736eb63 100644
--- a/lldb/test/CMakeLists.txt
+++ b/lldb/test/CMakeLists.txt
@@ -91,10 +91,11 @@ string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} LLDB_TOOLS_DIR ${LLVM_RUNT
# Create a custom target to track test dependencies.
add_custom_target(lldb-test-depends)
-set_target_properties(lldb-test-depends PROPERTIES FOLDER "lldb misc")
+set_target_properties(lldb-test-depends PROPERTIES FOLDER "LLDB/Tests")
# Create an alias for the legacy name of lldb-test-depends
add_custom_target(lldb-test-deps)
+set_target_properties(lldb-test-deps PROPERTIES FOLDER "LLDB/Tests")
add_dependencies(lldb-test-deps lldb-test-depends)
function(add_lldb_test_dependency)
@@ -265,7 +266,6 @@ add_lit_testsuite(check-lldb "Running lldb lit test suite"
lldb-api-test-deps
lldb-shell-test-deps
lldb-unit-test-deps)
-set_target_properties(check-lldb PROPERTIES FOLDER "lldb tests")
if(LLDB_BUILT_STANDALONE)
# This has to happen *AFTER* add_lit_testsuite.
diff --git a/lldb/test/Shell/CMakeLists.txt b/lldb/test/Shell/CMakeLists.txt
index 221033bb05eb2..97323ff6fbc31 100644
--- a/lldb/test/Shell/CMakeLists.txt
+++ b/lldb/test/Shell/CMakeLists.txt
@@ -1,4 +1,5 @@
add_custom_target(lldb-shell-test-deps)
+set_target_properties(lldb-shell-test-deps PROPERTIES FOLDER "LLDB/Tests")
add_dependencies(lldb-shell-test-deps lldb-test-depends)
add_lit_testsuites(LLDB-SHELL
diff --git a/lldb/test/Unit/CMakeLists.txt b/lldb/test/Unit/CMakeLists.txt
index a592e1cb1a1fc..b86f1e0f5ed20 100644
--- a/lldb/test/Unit/CMakeLists.txt
+++ b/lldb/test/Unit/CMakeLists.txt
@@ -1,4 +1,5 @@
add_custom_target(lldb-unit-test-deps)
+set_target_properties(lldb-unit-test-deps PROPERTIES FOLDER "LLDB/Tests")
add_dependencies(lldb-unit-test-deps lldb-test-depends)
add_lit_testsuites(LLDB-UNIT
diff --git a/lldb/tools/driver/CMakeLists.txt b/lldb/tools/driver/CMakeLists.txt
index c93cd171b92b4..cd304a047dea6 100644
--- a/lldb/tools/driver/CMakeLists.txt
+++ b/lldb/tools/driver/CMakeLists.txt
@@ -28,8 +28,6 @@ add_dependencies(lldb
${tablegen_deps}
)
-set_target_properties(LLDBOptionsTableGen PROPERTIES FOLDER "lldb misc")
-
if(LLDB_BUILD_FRAMEWORK)
# In the build-tree, we know the exact path to the framework directory.
# The installed framework can be in different locations.
diff --git a/lldb/tools/lldb-fuzzer/lldb-commandinterpreter-fuzzer/CMakeLists.txt b/lldb/tools/lldb-fuzzer/lldb-commandinterpreter-fuzzer/CMakeLists.txt
index 7eb85ba916709..0ef30be8f9d3a 100644
--- a/lldb/tools/lldb-fuzzer/lldb-commandinterpreter-fuzzer/CMakeLists.txt
+++ b/lldb/tools/lldb-fuzzer/lldb-commandinterpreter-fuzzer/CMakeLists.txt
@@ -29,4 +29,5 @@ if(TARGET lldb-commandinterpreter-fuzzer)
COMMAND $<TARGET_FILE:lldb-commandinterpreter-fuzzer> -dict=${CMAKE_CURRENT_SOURCE_DIR}/inputdictionary.txt -only_ascii=1 -artifact_prefix=commandinterpreter-
USES_TERMINAL
)
+ set_target_properties(fuzz-lldb-commandinterpreter PROPERTIES FOLDER "LLDB/Fuzzer")
endif()
diff --git a/lldb/tools/lldb-fuzzer/lldb-target-fuzzer/CMakeLists.txt b/lldb/tools/lldb-fuzzer/lldb-target-fuzzer/CMakeLists.txt
index 6876945c08da6..c71b2731ef769 100644
--- a/lldb/tools/lldb-fuzzer/lldb-target-fuzzer/CMakeLists.txt
+++ b/lldb/tools/lldb-fuzzer/lldb-target-fuzzer/CMakeLists.txt
@@ -25,4 +25,5 @@ if(TARGET lldb-target-fuzzer)
COMMAND $<TARGET_FILE:lldb-target-fuzzer> -artifact_prefix=target-
USES_TERMINAL
)
+ set_target_properties(fuzz-lldb-target PROPERTIES FOLDER "LLDB/Fuzzer")
endif()
diff --git a/lldb/tools/lldb-server/CMakeLists.txt b/lldb/tools/lldb-server/CMakeLists.txt
index 67103e87a1d4a..9030ed709a647 100644
--- a/lldb/tools/lldb-server/CMakeLists.txt
+++ b/lldb/tools/lldb-server/CMakeLists.txt
@@ -1,7 +1,6 @@
set(LLVM_TARGET_DEFINITIONS LLGSOptions.td)
tablegen(LLVM LLGSOptions.inc -gen-opt-parser-defs)
add_public_tablegen_target(LLGSOptionsTableGen)
-set_target_properties(LLGSOptionsTableGen PROPERTIES FOLDER "lldb misc")
set(LLDB_PLUGINS)
diff --git a/lldb/unittests/CMakeLists.txt b/lldb/unittests/CMakeLists.txt
index c084fa5cca92b..c92c28f7b6897 100644
--- a/lldb/unittests/CMakeLists.txt
+++ b/lldb/unittests/CMakeLists.txt
@@ -1,5 +1,5 @@
add_custom_target(LLDBUnitTests)
-set_target_properties(LLDBUnitTests PROPERTIES FOLDER "lldb tests")
+set_target_properties(LLDBUnitTests PROPERTIES FOLDER "LLDB/Tests")
add_dependencies(lldb-unit-test-deps LLDBUnitTests)
diff --git a/lldb/unittests/tools/lldb-server/CMakeLists.txt b/lldb/unittests/tools/lldb-server/CMakeLists.txt
index 1a7603077b8d8..05a7ef7f66f2d 100644
--- a/lldb/unittests/tools/lldb-server/CMakeLists.txt
+++ b/lldb/unittests/tools/lldb-server/CMakeLists.txt
@@ -7,7 +7,7 @@ function(add_lldb_test_executable test_name)
set_output_directory(${test_name} BINARY_DIR ${outdir} LIBRARY_DIR ${outdir})
list(APPEND ALL_LLDB_TEST_EXECUTABLES ${test_name})
set(ALL_LLDB_TEST_EXECUTABLES ${ALL_LLDB_TEST_EXECUTABLES} PARENT_SCOPE)
- set_target_properties(${test_name} PROPERTIES FOLDER "lldb tests")
+ set_target_properties(${test_name} PROPERTIES FOLDER "LLDB/Tests")
endfunction()
add_lldb_test_executable(thread_inferior inferior/thread_inferior.cpp)
diff --git a/lldb/utils/TableGen/CMakeLists.txt b/lldb/utils/TableGen/CMakeLists.txt
index 47a6400b4287e..0ac010bcda355 100644
--- a/lldb/utils/TableGen/CMakeLists.txt
+++ b/lldb/utils/TableGen/CMakeLists.txt
@@ -13,6 +13,5 @@ if (NOT DEFINED LLDB_TABLEGEN_EXE)
LLDBTableGen.cpp
LLDBTableGenUtils.cpp
)
- set_target_properties(lldb-tblgen PROPERTIES FOLDER "LLDB tablegenning")
endif()
endif()
diff --git a/lldb/utils/lit-cpuid/CMakeLists.txt b/lldb/utils/lit-cpuid/CMakeLists.txt
index a151b986b551e..6ea7e1c5b4e18 100644
--- a/lldb/utils/lit-cpuid/CMakeLists.txt
+++ b/lldb/utils/lit-cpuid/CMakeLists.txt
@@ -6,4 +6,4 @@ add_lldb_executable(lit-cpuid
TargetParser
)
-set_target_properties(lit-cpuid PROPERTIES FOLDER "lldb utils")
+set_target_properties(lit-cpuid PROPERTIES FOLDER "LLDB/Utils")
diff --git a/lldb/utils/lldb-dotest/CMakeLists.txt b/lldb/utils/lldb-dotest/CMakeLists.txt
index 09f41dbce421e..bb17a2ce017d5 100644
--- a/lldb/utils/lldb-dotest/CMakeLists.txt
+++ b/lldb/utils/lldb-dotest/CMakeLists.txt
@@ -1,7 +1,7 @@
# Make lldb-dotest a custom target.
add_custom_target(lldb-dotest)
add_dependencies(lldb-dotest lldb-test-depends)
-set_target_properties(lldb-dotest PROPERTIES FOLDER "lldb utils")
+set_target_properties(lldb-dotest PROPERTIES FOLDER "LLDB/Utils")
get_property(LLDB_TEST_USER_ARGS GLOBAL PROPERTY LLDB_TEST_USER_ARGS_PROPERTY)
get_property(LLDB_TEST_COMMON_ARGS GLOBAL PROPERTY LLDB_TEST_COMMON_ARGS_PROPERTY)
diff --git a/lldb/utils/lldb-repro/CMakeLists.txt b/lldb/utils/lldb-repro/CMakeLists.txt
index 725cb66c4755e..8ca02b9fb8193 100644
--- a/lldb/utils/lldb-repro/CMakeLists.txt
+++ b/lldb/utils/lldb-repro/CMakeLists.txt
@@ -1,6 +1,6 @@
add_custom_target(lldb-repro)
add_dependencies(lldb-repro lldb-test-depends)
-set_target_properties(lldb-repro PROPERTIES FOLDER "lldb utils")
+set_target_properties(lldb-repro PROPERTIES FOLDER "LLDB/Utils")
# Generate lldb-repro Python script for each build mode.
if(LLDB_BUILT_STANDALONE)
``````````
</details>
https://github.com/llvm/llvm-project/pull/89748
More information about the llvm-branch-commits
mailing list