diff options
author | Michael Kruse <llvm-project@meinersbur.de> | 2024-05-25 17:16:39 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-25 17:16:39 +0200 |
commit | f2a385c74aee9e668705575585ea33ee03aab4c7 (patch) | |
tree | f2ef76bad94f5ef742b9329a50023da097ab4762 | |
parent | c5a3f664fe3b95df8fc623df21a50793e50db468 (diff) | |
download | llvm-f2a385c74aee9e668705575585ea33ee03aab4c7.zip llvm-f2a385c74aee9e668705575585ea33ee03aab4c7.tar.gz llvm-f2a385c74aee9e668705575585ea33ee03aab4c7.tar.bz2 |
[clang] Revise IDE folder structure (#89743)
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.
-rw-r--r-- | clang/CMakeLists.txt | 8 | ||||
-rw-r--r-- | clang/bindings/python/tests/CMakeLists.txt | 2 | ||||
-rw-r--r-- | clang/cmake/modules/AddClang.cmake | 3 | ||||
-rw-r--r-- | clang/docs/CMakeLists.txt | 1 | ||||
-rw-r--r-- | clang/lib/Analysis/FlowSensitive/CMakeLists.txt | 1 | ||||
-rw-r--r-- | clang/lib/Headers/CMakeLists.txt | 4 | ||||
-rw-r--r-- | clang/test/CMakeLists.txt | 5 | ||||
-rw-r--r-- | clang/tools/libclang/CMakeLists.txt | 2 | ||||
-rw-r--r-- | clang/unittests/CMakeLists.txt | 2 | ||||
-rw-r--r-- | clang/utils/ClangVisualizers/CMakeLists.txt | 2 | ||||
-rw-r--r-- | clang/utils/TableGen/CMakeLists.txt | 2 | ||||
-rw-r--r-- | clang/utils/hmaptool/CMakeLists.txt | 2 |
12 files changed, 16 insertions, 18 deletions
diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt index a6bcb85..2ac0bcc 100644 --- a/clang/CMakeLists.txt +++ b/clang/CMakeLists.txt @@ -1,4 +1,5 @@ cmake_minimum_required(VERSION 3.20.0) +set(LLVM_SUBPROJECT_TITLE "Clang") if(NOT DEFINED LLVM_COMMON_CMAKE_UTILS) set(LLVM_COMMON_CMAKE_UTILS ${CMAKE_CURRENT_SOURCE_DIR}/../cmake) @@ -391,7 +392,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) # Installing the headers needs to depend on generating any public # tablegen'd headers. add_custom_target(clang-headers DEPENDS clang-tablegen-targets) - set_target_properties(clang-headers PROPERTIES FOLDER "Misc") + set_target_properties(clang-headers PROPERTIES FOLDER "Clang/Resources") if(NOT LLVM_ENABLE_IDE) add_llvm_install_targets(install-clang-headers DEPENDS clang-headers @@ -399,6 +400,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) endif() add_custom_target(bash-autocomplete DEPENDS utils/bash-autocomplete.sh) + set_target_properties(bash-autocomplete PROPERTIES FOLDER "Clang/Misc") install(FILES utils/bash-autocomplete.sh DESTINATION "${CMAKE_INSTALL_DATADIR}/clang" COMPONENT bash-autocomplete) @@ -479,7 +481,7 @@ add_custom_target(clang-tablegen-targets omp_gen ClangDriverOptions ${CLANG_TABLEGEN_TARGETS}) -set_target_properties(clang-tablegen-targets PROPERTIES FOLDER "Misc") +set_target_properties(clang-tablegen-targets PROPERTIES FOLDER "Clang/Tablegenning/Targets") list(APPEND LLVM_COMMON_DEPENDS clang-tablegen-targets) # Force target to be built as soon as possible. Clang modules builds depend @@ -544,7 +546,7 @@ endif() # Custom target to install all clang libraries. add_custom_target(clang-libraries) -set_target_properties(clang-libraries PROPERTIES FOLDER "Misc") +set_target_properties(clang-libraries PROPERTIES FOLDER "Clang/Install") if(NOT LLVM_ENABLE_IDE) add_llvm_install_targets(install-clang-libraries diff --git a/clang/bindings/python/tests/CMakeLists.txt b/clang/bindings/python/tests/CMakeLists.txt index c4cd253..2543cf7 100644 --- a/clang/bindings/python/tests/CMakeLists.txt +++ b/clang/bindings/python/tests/CMakeLists.txt @@ -11,7 +11,7 @@ add_custom_target(check-clang-python WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/..) set(RUN_PYTHON_TESTS TRUE) -set_target_properties(check-clang-python PROPERTIES FOLDER "Clang tests") +set_target_properties(check-clang-python PROPERTIES FOLDER "Clang/Tests") # Tests require libclang.so which is only built with LLVM_ENABLE_PIC=ON if(NOT LLVM_ENABLE_PIC) diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake index 75b0080..a5ef639 100644 --- a/clang/cmake/modules/AddClang.cmake +++ b/clang/cmake/modules/AddClang.cmake @@ -26,7 +26,6 @@ function(clang_tablegen) if(CTG_TARGET) add_public_tablegen_target(${CTG_TARGET}) - set_target_properties( ${CTG_TARGET} PROPERTIES FOLDER "Clang tablegenning") set_property(GLOBAL APPEND PROPERTY CLANG_TABLEGEN_TARGETS ${CTG_TARGET}) endif() endfunction(clang_tablegen) @@ -138,13 +137,11 @@ macro(add_clang_library name) endif() endforeach() - set_target_properties(${name} PROPERTIES FOLDER "Clang libraries") set_clang_windows_version_resource_properties(${name}) endmacro(add_clang_library) macro(add_clang_executable name) add_llvm_executable( ${name} ${ARGN} ) - set_target_properties(${name} PROPERTIES FOLDER "Clang executables") set_clang_windows_version_resource_properties(${name}) endmacro(add_clang_executable) diff --git a/clang/docs/CMakeLists.txt b/clang/docs/CMakeLists.txt index 4163dd2..51e9db2 100644 --- a/clang/docs/CMakeLists.txt +++ b/clang/docs/CMakeLists.txt @@ -78,6 +78,7 @@ if (LLVM_ENABLE_DOXYGEN) COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMENT "Generating clang doxygen documentation." VERBATIM) + set_target_properties(doxygen-clang PROPERTIES FOLDER "Clang/Docs") if (LLVM_BUILD_DOCS) add_dependencies(doxygen doxygen-clang) diff --git a/clang/lib/Analysis/FlowSensitive/CMakeLists.txt b/clang/lib/Analysis/FlowSensitive/CMakeLists.txt index f89d4e5..05cdaa7e 100644 --- a/clang/lib/Analysis/FlowSensitive/CMakeLists.txt +++ b/clang/lib/Analysis/FlowSensitive/CMakeLists.txt @@ -37,3 +37,4 @@ add_custom_command(OUTPUT HTMLLogger.inc DEPENDS ${CLANG_SOURCE_DIR}/utils/bundle_resources.py HTMLLogger.html HTMLLogger.css HTMLLogger.js VERBATIM) add_custom_target(clangAnalysisFlowSensitiveResources DEPENDS HTMLLogger.inc) +set_target_properties(clangAnalysisFlowSensitiveResources PROPERTIES FOLDER "Clang/Misc") diff --git a/clang/lib/Headers/CMakeLists.txt b/clang/lib/Headers/CMakeLists.txt index dbff92b..d3090e4 100644 --- a/clang/lib/Headers/CMakeLists.txt +++ b/clang/lib/Headers/CMakeLists.txt @@ -443,14 +443,14 @@ endforeach( f ) function(add_header_target target_name file_list) add_library(${target_name} INTERFACE ${file_list}) set_target_properties(${target_name} PROPERTIES - FOLDER "Misc" + FOLDER "Clang/Resources" RUNTIME_OUTPUT_DIRECTORY "${output_dir}") endfunction() # The catch-all clang-resource-headers target add_library(clang-resource-headers INTERFACE ${out_files}) set_target_properties("clang-resource-headers" PROPERTIES - FOLDER "Misc" + FOLDER "Clang/Resources" RUNTIME_OUTPUT_DIRECTORY "${output_dir}") add_dependencies("clang-resource-headers" "core-resource-headers" diff --git a/clang/test/CMakeLists.txt b/clang/test/CMakeLists.txt index df34a57..5fceb1d 100644 --- a/clang/test/CMakeLists.txt +++ b/clang/test/CMakeLists.txt @@ -170,7 +170,7 @@ configure_file(AST/gen_ast_dump_json_test.py ${CLANG_BINARY_DIR}/bin/gen_ast_dump_json_test.py COPYONLY) add_custom_target(clang-test-depends DEPENDS ${CLANG_TEST_DEPS}) -set_target_properties(clang-test-depends PROPERTIES FOLDER "Clang tests") +set_target_properties(clang-test-depends PROPERTIES FOLDER "Clang/Tests") add_lit_testsuite(check-clang "Running the Clang regression tests" ${CMAKE_CURRENT_BINARY_DIR} @@ -179,7 +179,6 @@ add_lit_testsuite(check-clang "Running the Clang regression tests" DEPENDS ${CLANG_TEST_DEPS} ARGS ${CLANG_TEST_EXTRA_ARGS} ) -set_target_properties(check-clang PROPERTIES FOLDER "Clang tests") add_lit_testsuites(CLANG ${CMAKE_CURRENT_SOURCE_DIR} PARAMS ${CLANG_TEST_PARAMS} @@ -190,7 +189,7 @@ add_lit_testsuites(CLANG ${CMAKE_CURRENT_SOURCE_DIR} # Add a legacy target spelling: clang-test add_custom_target(clang-test) add_dependencies(clang-test check-clang) -set_target_properties(clang-test PROPERTIES FOLDER "Clang tests") +set_target_properties(clang-test PROPERTIES FOLDER "Clang/Tests") # FIXME: This logic can be removed once all buildbots have moved # debuginfo-test from clang/test to llvm/projects or monorepo. diff --git a/clang/tools/libclang/CMakeLists.txt b/clang/tools/libclang/CMakeLists.txt index b5b6d28..7b63400 100644 --- a/clang/tools/libclang/CMakeLists.txt +++ b/clang/tools/libclang/CMakeLists.txt @@ -230,7 +230,7 @@ install(DIRECTORY ../../include/clang-c # component and an install-component target, so add a dummy libclang-headers # target to allow using it in LLVM_DISTRIBUTION_COMPONENTS. add_custom_target(libclang-headers) -set_target_properties(libclang-headers PROPERTIES FOLDER "Misc") +set_target_properties(libclang-headers PROPERTIES FOLDER "Clang/Resources") if (NOT LLVM_ENABLE_IDE) add_llvm_install_targets(install-libclang-headers diff --git a/clang/unittests/CMakeLists.txt b/clang/unittests/CMakeLists.txt index a8363ff..e43ee7b 100644 --- a/clang/unittests/CMakeLists.txt +++ b/clang/unittests/CMakeLists.txt @@ -1,5 +1,5 @@ add_custom_target(ClangUnitTests) -set_target_properties(ClangUnitTests PROPERTIES FOLDER "Clang tests") +set_target_properties(ClangUnitTests PROPERTIES FOLDER "Clang/Tests") if(CLANG_BUILT_STANDALONE) # LLVMTesting* libraries are needed for some of the unittests. diff --git a/clang/utils/ClangVisualizers/CMakeLists.txt b/clang/utils/ClangVisualizers/CMakeLists.txt index 16d118a..c047419 100644 --- a/clang/utils/ClangVisualizers/CMakeLists.txt +++ b/clang/utils/ClangVisualizers/CMakeLists.txt @@ -3,5 +3,5 @@ if (LLVM_ADD_NATIVE_VISUALIZERS_TO_SOLUTION) set(CLANG_VISUALIZERS clang.natvis) add_custom_target(ClangVisualizers SOURCES ${CLANG_VISUALIZERS}) - set_target_properties(ClangVisualizers PROPERTIES FOLDER "Utils") + set_target_properties(ClangVisualizers PROPERTIES FOLDER "Clang/Misc") endif() diff --git a/clang/utils/TableGen/CMakeLists.txt b/clang/utils/TableGen/CMakeLists.txt index 2ca4a96..5b072a1 100644 --- a/clang/utils/TableGen/CMakeLists.txt +++ b/clang/utils/TableGen/CMakeLists.txt @@ -27,5 +27,3 @@ add_tablegen(clang-tblgen CLANG ) target_link_libraries(clang-tblgen PRIVATE clangSupport_tablegen) - -set_target_properties(clang-tblgen PROPERTIES FOLDER "Clang tablegenning") diff --git a/clang/utils/hmaptool/CMakeLists.txt b/clang/utils/hmaptool/CMakeLists.txt index 5112680..02b29e4f 100644 --- a/clang/utils/hmaptool/CMakeLists.txt +++ b/clang/utils/hmaptool/CMakeLists.txt @@ -1,6 +1,6 @@ install(PROGRAMS hmaptool DESTINATION "${CLANG_TOOLS_INSTALL_DIR}" COMPONENT hmaptool) add_custom_target(hmaptool ALL DEPENDS "hmaptool") -set_target_properties(hmaptool PROPERTIES FOLDER "Utils") +set_target_properties(hmaptool PROPERTIES FOLDER "Clang/Utils") if(NOT LLVM_ENABLE_IDE) add_llvm_install_targets("install-hmaptool" |