https://github.com/Meinersbur updated https://github.com/llvm/llvm-project/pull/89755
>From 6f39beb9ee58d7c377dce6ba8ce69e71da5b8e09 Mon Sep 17 00:00:00 2001 From: Michael Kruse <llvm-proj...@meinersbur.de> Date: Tue, 23 Apr 2024 12:55:15 +0200 Subject: [PATCH 1/6] [llvm] Revise IDE folder structure --- llvm/CMakeLists.txt | 12 ++- llvm/cmake/modules/AddLLVM.cmake | 83 ++++++++++++++----- llvm/cmake/modules/AddOCaml.cmake | 5 +- llvm/cmake/modules/AddSphinxTarget.cmake | 3 + llvm/cmake/modules/CrossCompile.cmake | 4 + .../modules/LLVMDistributionSupport.cmake | 8 ++ .../modules/LLVMExternalProjectUtils.cmake | 25 +++++- llvm/cmake/modules/TableGen.cmake | 7 +- llvm/docs/CMakeLists.txt | 1 + llvm/examples/Kaleidoscope/CMakeLists.txt | 2 +- llvm/include/llvm/Support/CMakeLists.txt | 2 +- llvm/lib/Support/BLAKE3/CMakeLists.txt | 1 + llvm/runtimes/CMakeLists.txt | 23 +++++ llvm/test/CMakeLists.txt | 6 +- llvm/tools/opt-viewer/CMakeLists.txt | 1 + .../InlineAdvisorPlugin/CMakeLists.txt | 3 +- .../Analysis/InlineOrderPlugin/CMakeLists.txt | 2 +- llvm/unittests/CMakeLists.txt | 2 +- llvm/unittests/DebugInfo/BTF/CMakeLists.txt | 2 - .../DebugInfo/CodeView/CMakeLists.txt | 2 - llvm/unittests/DebugInfo/DWARF/CMakeLists.txt | 2 - llvm/unittests/DebugInfo/GSYM/CMakeLists.txt | 2 - llvm/unittests/DebugInfo/MSF/CMakeLists.txt | 2 - llvm/unittests/DebugInfo/PDB/CMakeLists.txt | 2 - llvm/unittests/ExecutionEngine/CMakeLists.txt | 2 - .../ExecutionEngine/JITLink/CMakeLists.txt | 2 - .../ExecutionEngine/MCJIT/CMakeLists.txt | 2 - .../ExecutionEngine/Orc/CMakeLists.txt | 2 - .../Support/CommandLineInit/CMakeLists.txt | 4 - .../Support/DynamicLibrary/CMakeLists.txt | 4 +- llvm/unittests/Target/AArch64/CMakeLists.txt | 2 - llvm/unittests/Target/AMDGPU/CMakeLists.txt | 2 - llvm/unittests/Target/ARM/CMakeLists.txt | 2 - llvm/unittests/Target/CMakeLists.txt | 3 - .../unittests/Target/LoongArch/CMakeLists.txt | 2 - llvm/unittests/Target/PowerPC/CMakeLists.txt | 2 - llvm/unittests/Target/RISCV/CMakeLists.txt | 2 - .../Target/WebAssembly/CMakeLists.txt | 2 - llvm/unittests/Target/X86/CMakeLists.txt | 2 - .../Transforms/Coroutines/CMakeLists.txt | 2 - llvm/unittests/Transforms/IPO/CMakeLists.txt | 2 - .../Transforms/Scalar/CMakeLists.txt | 2 - .../unittests/Transforms/Utils/CMakeLists.txt | 2 - .../Transforms/Vectorize/CMakeLists.txt | 2 - .../tools/llvm-cfi-verify/CMakeLists.txt | 2 - .../tools/llvm-exegesis/CMakeLists.txt | 2 - llvm/unittests/tools/llvm-mca/CMakeLists.txt | 2 - .../tools/llvm-profdata/CMakeLists.txt | 2 - .../tools/llvm-profgen/CMakeLists.txt | 2 - llvm/utils/LLVMVisualizers/CMakeLists.txt | 2 +- llvm/utils/TableGen/Basic/CMakeLists.txt | 1 - llvm/utils/TableGen/CMakeLists.txt | 2 - llvm/utils/TableGen/Common/CMakeLists.txt | 1 - llvm/utils/lit/CMakeLists.txt | 4 +- llvm/utils/llvm-locstats/CMakeLists.txt | 2 +- llvm/utils/mlgo-utils/CMakeLists.txt | 2 +- 56 files changed, 159 insertions(+), 112 deletions(-) diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt index 43181af3bc195..48a6ab7d21f48 100644 --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -1124,7 +1124,7 @@ configure_file( add_custom_target(srpm COMMAND cpack -G TGZ --config CPackSourceConfig.cmake -B ${LLVM_SRPM_DIR}/SOURCES COMMAND rpmbuild -bs --define '_topdir ${LLVM_SRPM_DIR}' ${LLVM_SRPM_BINARY_SPECFILE}) -set_target_properties(srpm PROPERTIES FOLDER "Misc") +set_target_properties(srpm PROPERTIES FOLDER "LLVM/Misc") if(APPLE AND DARWIN_LTO_LIBRARY) set(CMAKE_EXE_LINKER_FLAGS @@ -1222,7 +1222,9 @@ if( LLVM_INCLUDE_UTILS ) add_subdirectory(utils/split-file) add_subdirectory(utils/mlgo-utils) if( LLVM_INCLUDE_TESTS ) + set(LLVM_SUBPROJECT_TITLE "Third-Party/Google Test") add_subdirectory(${LLVM_THIRD_PARTY_DIR}/unittest ${CMAKE_CURRENT_BINARY_DIR}/third-party/unittest) + set(LLVM_SUBPROJECT_TITLE) endif() else() if ( LLVM_INCLUDE_TESTS ) @@ -1286,7 +1288,7 @@ if( LLVM_INCLUDE_TESTS ) if(LLVM_ALL_LIT_DEPENDS OR LLVM_ALL_ADDITIONAL_TEST_DEPENDS) add_dependencies(test-depends ${LLVM_ALL_LIT_DEPENDS} ${LLVM_ALL_ADDITIONAL_TEST_DEPENDS}) endif() - set_target_properties(test-depends PROPERTIES FOLDER "Tests") + set_target_properties(test-depends PROPERTIES FOLDER "LLVM/Tests") add_dependencies(check-all test-depends) endif() @@ -1343,7 +1345,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) # Installing the headers needs to depend on generating any public # tablegen'd headers. add_custom_target(llvm-headers DEPENDS intrinsics_gen omp_gen) - set_target_properties(llvm-headers PROPERTIES FOLDER "Misc") + set_target_properties(llvm-headers PROPERTIES FOLDER "LLVM/Resources") if (NOT LLVM_ENABLE_IDE) add_llvm_install_targets(install-llvm-headers @@ -1353,7 +1355,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) # Custom target to install all libraries. add_custom_target(llvm-libraries) - set_target_properties(llvm-libraries PROPERTIES FOLDER "Misc") + set_target_properties(llvm-libraries PROPERTIES FOLDER "LLVM/Resources") if (NOT LLVM_ENABLE_IDE) add_llvm_install_targets(install-llvm-libraries @@ -1399,6 +1401,8 @@ if (LLVM_INCLUDE_BENCHMARKS) set(HAVE_STD_REGEX ON CACHE BOOL "OK" FORCE) add_subdirectory(${LLVM_THIRD_PARTY_DIR}/benchmark ${CMAKE_CURRENT_BINARY_DIR}/third-party/benchmark) + set_target_properties(benchmark PROPERTIES FOLDER "Third-Party/Google Benchmark") + set_target_properties(benchmark_main PROPERTIES FOLDER "Third-Party/Google Benchmark") add_subdirectory(benchmarks) endif() diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake index 693fd5669f63f..25e35e22ccb71 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -4,6 +4,21 @@ include(LLVMProcessSources) include(LLVM-Config) include(DetermineGCCCompatible) +# get_subproject_title(titlevar) +# Set ${outvar} to the title of the current LLVM subproject (Clang, MLIR ...) +# +# The title is set in the subproject's top-level using the variable +# LLVM_SUBPROJECT_TITLE. If it does not exist, it is assumed it is LLVM itself. +# The title is not semantically significant, but use to create folders in +# CMake-generated IDE projects (Visual Studio/XCode). +function(get_subproject_title outvar) + if (LLVM_SUBPROJECT_TITLE) + set(${outvar} "${LLVM_SUBPROJECT_TITLE}" PARENT_SCOPE) + else () + set(${outvar} "LLVM" PARENT_SCOPE) + endif () +endfunction(get_subproject_title) + function(llvm_update_compile_flags name) get_property(sources TARGET ${name} PROPERTY SOURCES) if("${sources}" MATCHES "\\.c(;|$)") @@ -151,7 +166,8 @@ function(add_llvm_symbol_exports target_name export_file) endif() add_custom_target(${target_name}_exports DEPENDS ${native_export_file}) - set_target_properties(${target_name}_exports PROPERTIES FOLDER "Misc") + get_subproject_title(subproject_title) + set_target_properties(${target_name}_exports PROPERTIES FOLDER "${subproject_title}/Misc") get_property(srcs TARGET ${target_name} PROPERTY SOURCES) foreach(src ${srcs}) @@ -543,6 +559,8 @@ function(llvm_add_library name) endif() endif() + get_subproject_title(subproject_title) + # Generate objlib if((ARG_SHARED AND ARG_STATIC) OR ARG_OBJECT) # Generate an obj library for both targets. @@ -564,7 +582,7 @@ function(llvm_add_library name) # Bring in the target include directories from our original target. target_include_directories(${obj_name} PRIVATE $<TARGET_PROPERTY:${name},INCLUDE_DIRECTORIES>) - set_target_properties(${obj_name} PROPERTIES FOLDER "Object Libraries") + set_target_properties(${obj_name} PROPERTIES FOLDER "${subproject_title}/Object Libraries") if(ARG_DEPENDS) add_dependencies(${obj_name} ${ARG_DEPENDS}) endif() @@ -603,6 +621,7 @@ function(llvm_add_library name) LINK_LIBS ${ARG_LINK_LIBS} LINK_COMPONENTS ${ARG_LINK_COMPONENTS} ) + set_target_properties(${name_static} PROPERTIES FOLDER "${subproject_title}/Libraries") # Bring in the target link info from our original target. target_link_directories(${name_static} PRIVATE $<TARGET_PROPERTY:${name},LINK_DIRECTORIES>) @@ -620,6 +639,7 @@ function(llvm_add_library name) else() add_library(${name} STATIC ${ALL_FILES}) endif() + set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Libraries") if(ARG_COMPONENT_LIB) set_target_properties(${name} PROPERTIES LLVM_COMPONENT TRUE) @@ -796,6 +816,8 @@ function(add_llvm_install_targets target) endif() endforeach() + get_subproject_title(subproject_title) + add_custom_target(${target} DEPENDS ${file_dependencies} COMMAND "${CMAKE_COMMAND}" @@ -803,7 +825,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") + set_target_properties(${target} PROPERTIES FOLDER "${subproject_title}/Install") add_custom_target(${target}-stripped DEPENDS ${file_dependencies} COMMAND "${CMAKE_COMMAND}" @@ -812,7 +834,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)") + set_target_properties(${target}-stripped PROPERTIES FOLDER "${subproject_title}/Install") if(target_dependencies) add_dependencies(${target} ${target_dependencies}) add_dependencies(${target}-stripped ${target_dependencies}) @@ -832,6 +854,8 @@ endfunction() function(add_llvm_component_group name) cmake_parse_arguments(ARG "HAS_JIT" "" "LINK_COMPONENTS" ${ARGN}) add_custom_target(${name}) + get_subproject_title(subproject_title) + set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Component Groups") if(ARG_HAS_JIT) set_property(TARGET ${name} PROPERTY COMPONENT_HAS_JIT ON) endif() @@ -865,6 +889,8 @@ function(add_llvm_component_library name) if(ARG_ADD_TO_COMPONENT) set_property(TARGET ${ARG_ADD_TO_COMPONENT} APPEND PROPERTY LLVM_LINK_COMPONENTS ${component_name}) + get_subproject_title(subproject_title) + set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Libraries/${ARG_ADD_TO_COMPONENT}") endif() endfunction() @@ -921,10 +947,12 @@ macro(add_llvm_library name) endif() set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) endif() + + get_subproject_title(subproject_title) if (ARG_MODULE) - set_target_properties(${name} PROPERTIES FOLDER "Loadable modules") + set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Loadable Modules") else() - set_target_properties(${name} PROPERTIES FOLDER "Libraries") + set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Libraries") endif() endmacro(add_llvm_library name) @@ -948,7 +976,8 @@ macro(generate_llvm_objects name) add_dependencies(${obj_name} ${ARG_DEPENDS}) endif() - set_target_properties(${obj_name} PROPERTIES FOLDER "Object Libraries") + get_subproject_title(subproject_title) + set_target_properties(${obj_name} PROPERTIES FOLDER "${subproject_title}/Object Libraries") endif() if (ARG_GENERATE_DRIVER) @@ -999,6 +1028,8 @@ macro(add_llvm_executable name) else() add_executable(${name} ${ALL_FILES}) endif() + get_subproject_title(subproject_title) + set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Executables") setup_dependency_debugging(${name} ${LLVM_COMMON_DEPENDS}) @@ -1418,8 +1449,9 @@ macro(llvm_add_tool project name) if( LLVM_BUILD_TOOLS ) set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) endif() - set_target_properties(${name} PROPERTIES FOLDER "Tools") + get_subproject_title(subproject_title) endif() + set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Tools") endmacro(llvm_add_tool project name) macro(add_llvm_tool name) @@ -1435,7 +1467,8 @@ macro(add_llvm_example name) if( LLVM_BUILD_EXAMPLES ) install(TARGETS ${name} RUNTIME DESTINATION "${LLVM_EXAMPLES_INSTALL_DIR}") endif() - set_target_properties(${name} PROPERTIES FOLDER "Examples") + get_subproject_title(subproject_title) + set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Examples") endmacro(add_llvm_example name) macro(add_llvm_example_library name) @@ -1446,7 +1479,8 @@ macro(add_llvm_example_library name) add_llvm_library(${name} ${ARGN}) endif() - set_target_properties(${name} PROPERTIES FOLDER "Examples") + get_subproject_title(subproject_title) + set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Examples") endmacro(add_llvm_example_library name) # This is a macro that is used to create targets for executables that are needed @@ -1457,7 +1491,8 @@ macro(add_llvm_utility name) endif() add_llvm_executable(${name} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN}) - set_target_properties(${name} PROPERTIES FOLDER "Utils") + get_subproject_title(subproject_title) + set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Utils") if ( ${name} IN_LIST LLVM_TOOLCHAIN_UTILITIES OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY) if (LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS) get_target_export_arg(${name} LLVM export_to_llvmexports) @@ -1480,19 +1515,20 @@ endmacro(add_llvm_utility name) macro(add_llvm_fuzzer name) cmake_parse_arguments(ARG "" "DUMMY_MAIN" "" ${ARGN}) + get_subproject_title(subproject_title) if( LLVM_LIB_FUZZING_ENGINE ) set(LLVM_OPTIONAL_SOURCES ${ARG_DUMMY_MAIN}) add_llvm_executable(${name} ${ARG_UNPARSED_ARGUMENTS}) target_link_libraries(${name} PRIVATE ${LLVM_LIB_FUZZING_ENGINE}) - set_target_properties(${name} PROPERTIES FOLDER "Fuzzers") + set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Fuzzers") elseif( LLVM_USE_SANITIZE_COVERAGE ) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=fuzzer") set(LLVM_OPTIONAL_SOURCES ${ARG_DUMMY_MAIN}) add_llvm_executable(${name} ${ARG_UNPARSED_ARGUMENTS}) - set_target_properties(${name} PROPERTIES FOLDER "Fuzzers") + set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Fuzzers") elseif( ARG_DUMMY_MAIN ) add_llvm_executable(${name} ${ARG_DUMMY_MAIN} ${ARG_UNPARSED_ARGUMENTS}) - set_target_properties(${name} PROPERTIES FOLDER "Fuzzers") + set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Fuzzers") endif() endmacro() @@ -1653,6 +1689,8 @@ function(add_unittest test_suite test_name) list(APPEND LLVM_LINK_COMPONENTS Support) # gtest needs it for raw_ostream add_llvm_executable(${test_name} IGNORE_EXTERNALIZE_DEBUGINFO NO_INSTALL_RPATH ${ARGN}) + get_subproject_title(subproject_title) + set_target_properties(${test_name} PROPERTIES FOLDER "${subproject_title}/Tests/Unit") # The runtime benefits of LTO don't outweight the compile time costs for tests. if(LLVM_ENABLE_LTO) @@ -1684,10 +1722,6 @@ function(add_unittest test_suite test_name) target_link_libraries(${test_name} PRIVATE llvm_gtest_main llvm_gtest ${LLVM_PTHREAD_LIB}) add_dependencies(${test_suite} ${test_name}) - get_target_property(test_suite_folder ${test_suite} FOLDER) - if (test_suite_folder) - set_property(TARGET ${test_name} PROPERTY FOLDER "${test_suite_folder}") - endif () endfunction() # Use for test binaries that call llvm::getInputFileDirectory(). Use of this @@ -1710,7 +1744,8 @@ function(add_benchmark benchmark_name) add_llvm_executable(${benchmark_name} IGNORE_EXTERNALIZE_DEBUGINFO NO_INSTALL_RPATH ${ARGN}) set(outdir ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}) set_output_directory(${benchmark_name} BINARY_DIR ${outdir} LIBRARY_DIR ${outdir}) - set_property(TARGET ${benchmark_name} PROPERTY FOLDER "Utils") + get_subproject_title(subproject_title) + set_property(TARGET ${benchmark_name} PROPERTY FOLDER "${subproject_title}/Utils") target_link_libraries(${benchmark_name} PRIVATE benchmark) endfunction() @@ -1999,6 +2034,8 @@ function(add_lit_target target comment) COMMAND ${CMAKE_COMMAND} -E echo "${target} does nothing, no tools built.") message(STATUS "${target} does nothing.") endif() + get_subproject_title(subproject_title) + set_target_properties(${target} PROPERTIES FOLDER "${subproject_title}/Tests") if (ARG_DEPENDS) add_dependencies(${target} ${ARG_DEPENDS}) @@ -2080,7 +2117,8 @@ function(add_lit_testsuites project directory) cmake_parse_arguments(ARG "EXCLUDE_FROM_CHECK_ALL" "FOLDER" "PARAMS;DEPENDS;ARGS" ${ARGN}) if (NOT ARG_FOLDER) - set(ARG_FOLDER "Test Subdirectories") + get_subproject_title(subproject_title) + set(ARG_FOLDER "${subproject_title}/Tests") endif() # Search recursively for test directories by assuming anything not @@ -2282,7 +2320,8 @@ function(llvm_add_tool_symlink project link_name target) set(should_build_all ALL) endif() add_custom_target(${target_name} ${should_build_all} DEPENDS ${target} ${output_path}) - set_target_properties(${target_name} PROPERTIES FOLDER Tools) + get_subproject_title(subproject_title) + set_target_properties(${target_name} PROPERTIES FOLDER "${subproject_title}/Tools") # Make sure both the link and target are toolchain tools if (${link_name} IN_LIST LLVM_TOOLCHAIN_TOOLS AND ${target} IN_LIST LLVM_TOOLCHAIN_TOOLS) @@ -2542,5 +2581,7 @@ function(setup_host_tool tool_name setting_name exe_var_name target_var_name) if(LLVM_USE_HOST_TOOLS AND NOT ${setting_name}) build_native_tool(${tool_name} exe_name DEPENDS ${tool_name}) add_custom_target(${target_var_name} DEPENDS ${exe_name}) + get_subproject_title(subproject_title) + set_target_properties(${target_var_name} PROPERTIES FOLDER "${subproject_title}/Native") endif() endfunction() diff --git a/llvm/cmake/modules/AddOCaml.cmake b/llvm/cmake/modules/AddOCaml.cmake index 891c9e6d618c0..01e736a68c3be 100644 --- a/llvm/cmake/modules/AddOCaml.cmake +++ b/llvm/cmake/modules/AddOCaml.cmake @@ -173,6 +173,7 @@ function(add_ocaml_library name) VERBATIM) add_custom_target("ocaml_${name}" ALL DEPENDS ${ocaml_outputs} "${bin}/${name}.odoc") + set_target_properties("ocaml_${name}" PROPERTIES FOLDER "LLVM/Bindings/OCaml") set_target_properties("ocaml_${name}" PROPERTIES OCAML_FLAGS "-I;${bin}") @@ -228,5 +229,5 @@ endfunction() add_custom_target(ocaml_make_directory COMMAND "${CMAKE_COMMAND}" "-E" "make_directory" "${LLVM_LIBRARY_DIR}/ocaml/llvm") add_custom_target("ocaml_all") -set_target_properties(ocaml_all PROPERTIES FOLDER "Misc") -set_target_properties(ocaml_make_directory PROPERTIES FOLDER "Misc") +set_target_properties(ocaml_all PROPERTIES FOLDER "LLVM/Bindings/OCaml") +set_target_properties(ocaml_make_directory PROPERTIES FOLDER "LLVM/Bindings/OCaml") diff --git a/llvm/cmake/modules/AddSphinxTarget.cmake b/llvm/cmake/modules/AddSphinxTarget.cmake index b90639fbbf073..9de169d7297cb 100644 --- a/llvm/cmake/modules/AddSphinxTarget.cmake +++ b/llvm/cmake/modules/AddSphinxTarget.cmake @@ -6,6 +6,7 @@ if (LLVM_ENABLE_SPHINX) find_package(Sphinx REQUIRED) if (LLVM_BUILD_DOCS AND NOT TARGET sphinx) add_custom_target(sphinx ALL) + set_target_properties(sphinx PROPERTIES FOLDER "LLVM/Docs") endif() else() message(STATUS "Sphinx disabled.") @@ -58,6 +59,8 @@ function (add_sphinx_target builder project) "${SPHINX_BUILD_DIR}" # Output COMMENT "Generating ${builder} Sphinx documentation for ${project} into \"${SPHINX_BUILD_DIR}\"") + get_subproject_title(subproject_title) + set_target_properties(${SPHINX_TARGET_NAME} PROPERTIES FOLDER "${subproject_title}/Docs") # When "clean" target is run, remove the Sphinx build directory set_property(DIRECTORY APPEND PROPERTY diff --git a/llvm/cmake/modules/CrossCompile.cmake b/llvm/cmake/modules/CrossCompile.cmake index 55bf3be756427..39b4abaa0d931 100644 --- a/llvm/cmake/modules/CrossCompile.cmake +++ b/llvm/cmake/modules/CrossCompile.cmake @@ -45,6 +45,8 @@ function(llvm_create_cross_target project_name target_name toolchain buildtype) add_custom_target(CREATE_${project_name}_${target_name} DEPENDS ${${project_name}_${target_name}_BUILD}) + get_subproject_title(subproject_title) + set_target_properties(CREATE_${project_name}_${target_name} PROPERTIES FOLDER "${subproject_title}/Native") # Escape semicolons in the targets list so that cmake doesn't expand # them to spaces. @@ -98,6 +100,8 @@ function(llvm_create_cross_target project_name target_name toolchain buildtype) add_custom_target(CONFIGURE_${project_name}_${target_name} DEPENDS ${${project_name}_${target_name}_BUILD}/CMakeCache.txt) + get_subproject_title(subproject_title) + set_target_properties(CONFIGURE_${project_name}_${target_name} PROPERTIES FOLDER "${subproject_title}/Native") endfunction() diff --git a/llvm/cmake/modules/LLVMDistributionSupport.cmake b/llvm/cmake/modules/LLVMDistributionSupport.cmake index 0b78f8f9137c5..011548419e0c3 100644 --- a/llvm/cmake/modules/LLVMDistributionSupport.cmake +++ b/llvm/cmake/modules/LLVMDistributionSupport.cmake @@ -210,6 +210,7 @@ function(install_distribution_exports project) COMPONENT ${target}) if(NOT LLVM_ENABLE_IDE) add_custom_target(${target}) + set_target_properties(${target} PROPERTIES FOLDER "LLVM/Distribution") add_llvm_install_targets(install-${target} COMPONENT ${target}) endif() endif() @@ -260,6 +261,13 @@ function(llvm_distribution_add_targets) add_custom_target(${distribution_target}) add_custom_target(install-${distribution_target}) add_custom_target(install-${distribution_target}-stripped) + set_target_properties( + ${distribution_target} + install-${distribution_target} + install-${distribution_target}-stripped + PROPERTIES + FOLDER "LLVM/Distribution" + ) foreach(target ${distribution_components}) # Note that some distribution components may not have an actual target, but only an install-FOO target. diff --git a/llvm/cmake/modules/LLVMExternalProjectUtils.cmake b/llvm/cmake/modules/LLVMExternalProjectUtils.cmake index 2672f90f579bd..edfee259470df 100644 --- a/llvm/cmake/modules/LLVMExternalProjectUtils.cmake +++ b/llvm/cmake/modules/LLVMExternalProjectUtils.cmake @@ -56,11 +56,13 @@ endfunction() # Use provided strip tool instead of the default one. # TARGET_TRIPLE triple # Optional target triple to pass to the compiler +# FOLDER +# For IDEs, the Folder to put the targets into. # ) function(llvm_ExternalProject_Add name source_dir) cmake_parse_arguments(ARG "USE_TOOLCHAIN;EXCLUDE_FROM_ALL;NO_INSTALL;ALWAYS_CLEAN" - "SOURCE_DIR" + "SOURCE_DIR;FOLDER" "CMAKE_ARGS;TOOLCHAIN_TOOLS;RUNTIME_LIBRARIES;DEPENDS;EXTRA_TARGETS;PASSTHROUGH_PREFIXES;STRIP_TOOL;TARGET_TRIPLE" ${ARGN}) canonicalize_tool_name(${name} nameCanon) @@ -150,6 +152,9 @@ function(llvm_ExternalProject_Add name source_dir) COMMENT "Clobbering ${name} build and stamp directories" USES_TERMINAL ) + if (ARG_FOLDER) + set_target_properties(${name}-clear PROPERTIES FOLDER "${ARG_FOLDER}") + endif () # Find all variables that start with a prefix and propagate them through get_cmake_property(variableNames VARIABLES) @@ -252,6 +257,9 @@ function(llvm_ExternalProject_Add name source_dir) add_custom_target(${name}-clobber DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${name}-clobber-stamp) + if (ARG_FOLDER) + set_target_properties(${name}-clobber PROPERTIES FOLDER "${ARG_FOLDER}") + endif () if(ARG_EXCLUDE_FROM_ALL) set(exclude EXCLUDE_FROM_ALL 1) @@ -360,6 +368,12 @@ function(llvm_ExternalProject_Add name source_dir) USES_TERMINAL_INSTALL 1 LIST_SEPARATOR | ) + if (ARG_FOLDER) + set_target_properties( + ${name} ${name}-clobber ${name}-build ${name}-configure + PROPERTIES FOLDER "${ARG_FOLDER}" + ) + endif () if(ARG_USE_TOOLCHAIN) set(force_deps DEPENDS ${TOOLCHAIN_BINS}) @@ -376,6 +390,9 @@ function(llvm_ExternalProject_Add name source_dir) USES_TERMINAL 1 ) ExternalProject_Add_StepTargets(${name} clean) + if (ARG_FOLDER) + set_target_properties(${name}-clean PROPERTIES FOLDER "${ARG_FOLDER}") + endif () if(ARG_USE_TOOLCHAIN) add_dependencies(${name}-clean ${name}-clobber) @@ -390,6 +407,9 @@ function(llvm_ExternalProject_Add name source_dir) add_llvm_install_targets(install-${name} DEPENDS ${name} COMPONENT ${name}) + if (ARG_FOLDER) + set_target_properties(install-${name} PROPERTIES FOLDER "${ARG_FOLDER}") + endif () endif() # Add top-level targets @@ -406,5 +426,8 @@ function(llvm_ExternalProject_Add name source_dir) WORKING_DIRECTORY ${BINARY_DIR} VERBATIM USES_TERMINAL) + if (ARG_FOLDER) + set_target_properties(${target} PROPERTIES FOLDER "${ARG_FOLDER}") + endif () endforeach() endfunction() diff --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake index df91598c404f5..b6b3666cd0d4d 100644 --- a/llvm/cmake/modules/TableGen.cmake +++ b/llvm/cmake/modules/TableGen.cmake @@ -167,7 +167,8 @@ function(add_public_tablegen_target target) if(LLVM_COMMON_DEPENDS) add_dependencies(${target} ${LLVM_COMMON_DEPENDS}) endif() - set_target_properties(${target} PROPERTIES FOLDER "Tablegenning") + get_subproject_title(subproject_title) + set_target_properties(${target} PROPERTIES FOLDER "${subproject_title}/Tablegenning/Targets") set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} ${target} PARENT_SCOPE) endfunction() @@ -179,6 +180,8 @@ macro(add_tablegen target project) add_llvm_executable(${target} DISABLE_LLVM_LINK_LLVM_DYLIB ${ADD_TABLEGEN_UNPARSED_ARGUMENTS}) + get_subproject_title(subproject_title) + set_target_properties(${target} PROPERTIES FOLDER "${subproject_title}/Tablegenning") set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS}) set(${project}_TABLEGEN_DEFAULT "${target}") @@ -217,6 +220,8 @@ macro(add_tablegen target project) set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN_EXE} PARENT_SCOPE) add_custom_target(${target}-host DEPENDS ${${project}_TABLEGEN_EXE}) + get_subproject_title(subproject_title) + set_target_properties(${target}-host PROPERTIES FOLDER "${subproject_title}/Native") set(${project}_TABLEGEN_TARGET ${target}-host PARENT_SCOPE) # If we're using the host tablegen, and utils were not requested, we have no diff --git a/llvm/docs/CMakeLists.txt b/llvm/docs/CMakeLists.txt index 5e420a2696329..bc87eb727d322 100644 --- a/llvm/docs/CMakeLists.txt +++ b/llvm/docs/CMakeLists.txt @@ -87,6 +87,7 @@ if (LLVM_ENABLE_DOXYGEN) COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMENT "Generating llvm doxygen documentation." VERBATIM) + set_target_properties(doxygen-llvm PROPERTIES FOLDER "LLVM/Docs") if (LLVM_BUILD_DOCS) add_dependencies(doxygen doxygen-llvm) diff --git a/llvm/examples/Kaleidoscope/CMakeLists.txt b/llvm/examples/Kaleidoscope/CMakeLists.txt index 3822cdd9e1c49..6ad3b61566472 100644 --- a/llvm/examples/Kaleidoscope/CMakeLists.txt +++ b/llvm/examples/Kaleidoscope/CMakeLists.txt @@ -1,5 +1,5 @@ add_custom_target(Kaleidoscope) -set_target_properties(Kaleidoscope PROPERTIES FOLDER Examples) +set_target_properties(Kaleidoscope PROPERTIES FOLDER "LLVM/Examples") macro(add_kaleidoscope_chapter name) add_dependencies(Kaleidoscope ${name}) diff --git a/llvm/include/llvm/Support/CMakeLists.txt b/llvm/include/llvm/Support/CMakeLists.txt index 76c382bfc644f..e34c11b2d0867 100644 --- a/llvm/include/llvm/Support/CMakeLists.txt +++ b/llvm/include/llvm/Support/CMakeLists.txt @@ -48,4 +48,4 @@ set_source_files_properties("${version_inc}" HEADER_FILE_ONLY TRUE) add_custom_target(llvm_vcsrevision_h ALL DEPENDS "${generated_files}") -set_target_properties(llvm_vcsrevision_h PROPERTIES FOLDER "Misc") +set_target_properties(llvm_vcsrevision_h PROPERTIES FOLDER "LLVM/Resources") diff --git a/llvm/lib/Support/BLAKE3/CMakeLists.txt b/llvm/lib/Support/BLAKE3/CMakeLists.txt index cb4f840461f7c..51317b8048f76 100644 --- a/llvm/lib/Support/BLAKE3/CMakeLists.txt +++ b/llvm/lib/Support/BLAKE3/CMakeLists.txt @@ -79,4 +79,5 @@ else() endif() add_library(LLVMSupportBlake3 OBJECT EXCLUDE_FROM_ALL ${LLVM_BLAKE3_FILES}) +set_target_properties(LLVMSupportBlake3 PROPERTIES FOLDER "LLVM/Libraries") llvm_update_compile_flags(LLVMSupportBlake3) diff --git a/llvm/runtimes/CMakeLists.txt b/llvm/runtimes/CMakeLists.txt index 8159d7f8a0a10..c5d754ab2781f 100644 --- a/llvm/runtimes/CMakeLists.txt +++ b/llvm/runtimes/CMakeLists.txt @@ -93,6 +93,7 @@ function(builtin_default_target compiler_rt_path) SANITIZER USE_TOOLCHAIN TARGET_TRIPLE ${LLVM_TARGET_TRIPLE} + FOLDER "Compiler-RT" ${EXTRA_ARGS}) endfunction() @@ -128,6 +129,7 @@ function(builtin_register_target compiler_rt_path name) ${COMMON_CMAKE_ARGS} ${${name}_extra_args} USE_TOOLCHAIN + FOLDER "Compiler-RT" ${EXTRA_ARGS} ${ARG_EXTRA_ARGS}) endfunction() @@ -148,6 +150,10 @@ if(compiler_rt_path) add_custom_target(builtins) add_custom_target(install-builtins) add_custom_target(install-builtins-stripped) + set_target_properties( + builtins install-builtins install-builtins-stripped + PROPERTIES FOLDER "Compiler-RT" + ) endif() foreach(target ${LLVM_BUILTIN_TARGETS}) @@ -263,6 +269,7 @@ function(runtime_default_target) ${SUB_INSTALL_TARGETS} USE_TOOLCHAIN TARGET_TRIPLE ${LLVM_TARGET_TRIPLE} + FOLDER "Runtimes" ${EXTRA_ARGS}) endfunction() @@ -388,6 +395,7 @@ function(runtime_register_target name) EXTRA_TARGETS ${${name}_extra_targets} ${${name}_test_targets} USE_TOOLCHAIN + FOLDER "${name}" ${EXTRA_ARGS} ${ARG_EXTRA_ARGS}) add_dependencies(runtimes runtimes-${name}) @@ -401,14 +409,17 @@ function(runtime_register_target name) foreach(runtime_name ${runtime_names}) if(NOT TARGET ${runtime_name}) add_custom_target(${runtime_name}) + set_target_properties(${runtime_name} PROPERTIES FOLDER "${runtime_name}") endif() add_dependencies(${runtime_name} ${runtime_name}-${name}) if(NOT TARGET install-${runtime_name}) add_custom_target(install-${runtime_name}) + set_target_properties(install-${runtime_name} PROPERTIES FOLDER "${runtime_name}") endif() add_dependencies(install-${runtime_name} install-${runtime_name}-${name}) if(NOT TARGET install-${runtime_name}-stripped) add_custom_target(install-${runtime_name}-stripped) + set_target_properties(install-${runtime_name} PROPERTIES FOLDER "${runtime_name}") endif() add_dependencies(install-${runtime_name}-stripped install-${runtime_name}-${name}-stripped) endforeach() @@ -505,9 +516,17 @@ if(runtimes) add_custom_target(runtimes-configure) add_custom_target(install-runtimes) add_custom_target(install-runtimes-stripped) + set_target_properties( + runtimes runtimes-configure install-runtimes install-runtimes-stripped + PROPERTIES FOLDER "Runtimes" + ) if(LLVM_INCLUDE_TESTS) add_custom_target(check-runtimes) add_custom_target(runtimes-test-depends) + set_target_properties( + check-runtimes runtimes-test-depends + PROPERTIES FOLDER "Runtimes" + ) set(test_targets "") endif() if(LLVM_RUNTIME_DISTRIBUTION_COMPONENTS) @@ -515,6 +534,10 @@ if(runtimes) add_custom_target(${component}) add_custom_target(install-${component}) add_custom_target(install-${component}-stripped) + set_target_properties( + ${component} install-${component} install-${component}-stripped + PROPERTIES FOLDER "${component}" + ) endforeach() endif() endif() diff --git a/llvm/test/CMakeLists.txt b/llvm/test/CMakeLists.txt index 6127b76db06b7..fad9fb2f32fa7 100644 --- a/llvm/test/CMakeLists.txt +++ b/llvm/test/CMakeLists.txt @@ -229,7 +229,7 @@ if (LLVM_INCLUDE_SPIRV_TOOLS_TESTS) endif() add_custom_target(llvm-test-depends DEPENDS ${LLVM_TEST_DEPENDS}) -set_target_properties(llvm-test-depends PROPERTIES FOLDER "Tests") +set_target_properties(llvm-test-depends PROPERTIES FOLDER "LLVM/Tests") if(LLVM_BUILD_TOOLS) set(exclude_from_check_all "") @@ -242,7 +242,7 @@ add_lit_testsuite(check-llvm "Running the LLVM regression tests" ${exclude_from_check_all} DEPENDS ${LLVM_TEST_DEPENDS} ) -set_target_properties(check-llvm PROPERTIES FOLDER "Tests") +set_target_properties(check-llvm PROPERTIES FOLDER "LLVM/Tests") add_lit_testsuites(LLVM ${CMAKE_CURRENT_SOURCE_DIR} ${exclude_from_check_all} @@ -253,4 +253,4 @@ add_lit_testsuites(LLVM ${CMAKE_CURRENT_SOURCE_DIR} # Setup an alias for 'check-all'. add_custom_target(check) add_dependencies(check check-all) -set_target_properties(check PROPERTIES FOLDER "Tests") +set_target_properties(check PROPERTIES FOLDER "LLVM/Tests") diff --git a/llvm/tools/opt-viewer/CMakeLists.txt b/llvm/tools/opt-viewer/CMakeLists.txt index c0070f8cbfac8..4bcf6932ee773 100644 --- a/llvm/tools/opt-viewer/CMakeLists.txt +++ b/llvm/tools/opt-viewer/CMakeLists.txt @@ -13,6 +13,7 @@ foreach (file ${files}) endforeach (file) add_custom_target(opt-viewer DEPENDS ${files}) +set_target_properties(opt-viewer PROPERTIES FOLDER "LLVM/Tools") if(NOT LLVM_ENABLE_IDE) add_llvm_install_targets("install-opt-viewer" DEPENDS opt-viewer diff --git a/llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt b/llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt index a0df549e8ea98..22cd0cb1d9a03 100644 --- a/llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt +++ b/llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt @@ -12,11 +12,10 @@ if (NOT WIN32 AND NOT CYGWIN) BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/../ LIBRARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/../ ) - set_target_properties(InlineAdvisorPlugin PROPERTIES FOLDER "Tests") + set_target_properties(InlineAdvisorPlugin PROPERTIES FOLDER "LLVM/Tests") # The plugin depends on some of the output files of intrinsics_gen, so make sure # it is built before the plugin. add_dependencies(InlineAdvisorPlugin intrinsics_gen) add_dependencies(AnalysisTests InlineAdvisorPlugin) - set_property(TARGET InlineAdvisorPlugin PROPERTY FOLDER "Tests/UnitTests/AnalysisTests") endif() diff --git a/llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt b/llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt index e5e5ac4a6fa9f..86d4f64fb42ac 100644 --- a/llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt +++ b/llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt @@ -18,5 +18,5 @@ if (NOT WIN32 AND NOT CYGWIN) # it is built before the plugin. add_dependencies(InlineOrderPlugin intrinsics_gen) add_dependencies(AnalysisTests InlineOrderPlugin) - set_property(TARGET InlineOrderPlugin PROPERTY FOLDER "Tests/UnitTests/AnalysisTests") + set_property(TARGET InlineOrderPlugin PROPERTY FOLDER "Tests/Unittests/AnalysisTests") endif() diff --git a/llvm/unittests/CMakeLists.txt b/llvm/unittests/CMakeLists.txt index 46f30ff398e10..b2f10b2185880 100644 --- a/llvm/unittests/CMakeLists.txt +++ b/llvm/unittests/CMakeLists.txt @@ -1,5 +1,5 @@ add_custom_target(UnitTests) -set_target_properties(UnitTests PROPERTIES FOLDER "Tests/UnitTests") +set_target_properties(UnitTests PROPERTIES FOLDER "LLVM/Tests") function(add_llvm_unittest test_dirname) add_unittest(UnitTests ${test_dirname} ${ARGN}) diff --git a/llvm/unittests/DebugInfo/BTF/CMakeLists.txt b/llvm/unittests/DebugInfo/BTF/CMakeLists.txt index b425e46b9f0cb..6f7f684c58bed 100644 --- a/llvm/unittests/DebugInfo/BTF/CMakeLists.txt +++ b/llvm/unittests/DebugInfo/BTF/CMakeLists.txt @@ -9,5 +9,3 @@ add_llvm_unittest(DebugInfoBTFTests ) target_link_libraries(DebugInfoBTFTests PRIVATE LLVMTestingSupport) - -set_property(TARGET DebugInfoBTFTests PROPERTY FOLDER "Tests/UnitTests/DebugInfoTests") diff --git a/llvm/unittests/DebugInfo/CodeView/CMakeLists.txt b/llvm/unittests/DebugInfo/CodeView/CMakeLists.txt index 9a5eca14a8798..5044b9bde2905 100644 --- a/llvm/unittests/DebugInfo/CodeView/CMakeLists.txt +++ b/llvm/unittests/DebugInfo/CodeView/CMakeLists.txt @@ -10,5 +10,3 @@ add_llvm_unittest(DebugInfoCodeViewTests ) target_link_libraries(DebugInfoCodeViewTests PRIVATE LLVMTestingSupport) - -set_property(TARGET DebugInfoCodeViewTests PROPERTY FOLDER "Tests/UnitTests/DebugInfoTests") diff --git a/llvm/unittests/DebugInfo/DWARF/CMakeLists.txt b/llvm/unittests/DebugInfo/DWARF/CMakeLists.txt index 1ba3786387594..0c5b3f28ca3d5 100644 --- a/llvm/unittests/DebugInfo/DWARF/CMakeLists.txt +++ b/llvm/unittests/DebugInfo/DWARF/CMakeLists.txt @@ -31,5 +31,3 @@ add_llvm_unittest(DebugInfoDWARFTests ) target_link_libraries(DebugInfoDWARFTests PRIVATE LLVMTestingSupport) - -set_property(TARGET DebugInfoDWARFTests PROPERTY FOLDER "Tests/UnitTests/DebugInfoTests") diff --git a/llvm/unittests/DebugInfo/GSYM/CMakeLists.txt b/llvm/unittests/DebugInfo/GSYM/CMakeLists.txt index 7cd5af561c6df..029767471c864 100644 --- a/llvm/unittests/DebugInfo/GSYM/CMakeLists.txt +++ b/llvm/unittests/DebugInfo/GSYM/CMakeLists.txt @@ -11,5 +11,3 @@ add_llvm_unittest(DebugInfoGSYMTests ) target_link_libraries(DebugInfoGSYMTests PRIVATE LLVMTestingSupport) - -set_property(TARGET DebugInfoGSYMTests PROPERTY FOLDER "Tests/UnitTests/DebugInfoTests") diff --git a/llvm/unittests/DebugInfo/MSF/CMakeLists.txt b/llvm/unittests/DebugInfo/MSF/CMakeLists.txt index 5e06ef683867b..0e48ab8f2f6b2 100644 --- a/llvm/unittests/DebugInfo/MSF/CMakeLists.txt +++ b/llvm/unittests/DebugInfo/MSF/CMakeLists.txt @@ -9,5 +9,3 @@ add_llvm_unittest(DebugInfoMSFTests ) target_link_libraries(DebugInfoMSFTests PRIVATE LLVMTestingSupport) - -set_property(TARGET DebugInfoMSFTests PROPERTY FOLDER "Tests/UnitTests/DebugInfoTests") diff --git a/llvm/unittests/DebugInfo/PDB/CMakeLists.txt b/llvm/unittests/DebugInfo/PDB/CMakeLists.txt index 2907b556e3cda..c8c2659277a63 100644 --- a/llvm/unittests/DebugInfo/PDB/CMakeLists.txt +++ b/llvm/unittests/DebugInfo/PDB/CMakeLists.txt @@ -13,5 +13,3 @@ add_llvm_unittest_with_input_files(DebugInfoPDBTests ) target_link_libraries(DebugInfoPDBTests PRIVATE LLVMTestingSupport) - -set_property(TARGET DebugInfoPDBTests PROPERTY FOLDER "Tests/UnitTests/DebugInfoTests") diff --git a/llvm/unittests/ExecutionEngine/CMakeLists.txt b/llvm/unittests/ExecutionEngine/CMakeLists.txt index ab6b9e7070f9e..1bf210556b661 100644 --- a/llvm/unittests/ExecutionEngine/CMakeLists.txt +++ b/llvm/unittests/ExecutionEngine/CMakeLists.txt @@ -21,5 +21,3 @@ list(FIND LLVM_TARGETS_WITH_JIT "${LLVM_NATIVE_ARCH}" jit_idx) if (NOT build_idx LESS 0 AND NOT jit_idx LESS 0) add_subdirectory(MCJIT) endif() - -set_property(TARGET ExecutionEngineTests PROPERTY FOLDER "Tests/UnitTests/ExecutionTests") diff --git a/llvm/unittests/ExecutionEngine/JITLink/CMakeLists.txt b/llvm/unittests/ExecutionEngine/JITLink/CMakeLists.txt index d4886754f0a9c..82d277309307c 100644 --- a/llvm/unittests/ExecutionEngine/JITLink/CMakeLists.txt +++ b/llvm/unittests/ExecutionEngine/JITLink/CMakeLists.txt @@ -18,5 +18,3 @@ add_llvm_unittest(JITLinkTests ) target_link_libraries(JITLinkTests PRIVATE LLVMTestingSupport) - -set_property(TARGET JITLinkTests PROPERTY FOLDER "Tests/UnitTests/ExecutionTests") diff --git a/llvm/unittests/ExecutionEngine/MCJIT/CMakeLists.txt b/llvm/unittests/ExecutionEngine/MCJIT/CMakeLists.txt index 110f097e088a9..3784ca290cb08 100644 --- a/llvm/unittests/ExecutionEngine/MCJIT/CMakeLists.txt +++ b/llvm/unittests/ExecutionEngine/MCJIT/CMakeLists.txt @@ -32,5 +32,3 @@ add_llvm_unittest(MCJITTests if(MINGW OR CYGWIN) set_property(TARGET MCJITTests PROPERTY LINK_FLAGS -Wl,--export-all-symbols) endif() - -set_property(TARGET MCJITTests PROPERTY FOLDER "Tests/UnitTests/ExecutionTests") diff --git a/llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt b/llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt index 8a6a26bba63c2..af431658c9b7d 100644 --- a/llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt +++ b/llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt @@ -48,6 +48,4 @@ target_link_libraries(OrcJITTests PRIVATE LLVMTestingSupport ${ORC_JIT_TEST_LIBS}) -set_property(TARGET OrcJITTests PROPERTY FOLDER "Tests/UnitTests/ExecutionTests") - export_executable_symbols(OrcJITTests) diff --git a/llvm/unittests/Support/CommandLineInit/CMakeLists.txt b/llvm/unittests/Support/CommandLineInit/CMakeLists.txt index 1889c8fba9a7a..adcebb5cdbeb5 100644 --- a/llvm/unittests/Support/CommandLineInit/CMakeLists.txt +++ b/llvm/unittests/Support/CommandLineInit/CMakeLists.txt @@ -33,7 +33,3 @@ add_dependencies(${test_suite} ${test_name}) set(outdir ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}) set_output_directory(${test_name} BINARY_DIR ${outdir} LIBRARY_DIR ${outdir}) -get_target_property(test_suite_folder ${test_suite} FOLDER) -if (test_suite_folder) - set_property(TARGET ${test_name} PROPERTY FOLDER "${test_suite_folder}") -endif () diff --git a/llvm/unittests/Support/DynamicLibrary/CMakeLists.txt b/llvm/unittests/Support/DynamicLibrary/CMakeLists.txt index 9e5d3b3dfb159..05610afae6061 100644 --- a/llvm/unittests/Support/DynamicLibrary/CMakeLists.txt +++ b/llvm/unittests/Support/DynamicLibrary/CMakeLists.txt @@ -6,7 +6,7 @@ set(LLVM_LINK_COMPONENTS Support) add_library(DynamicLibraryLib STATIC ExportedFuncs.cpp ) -set_target_properties(DynamicLibraryLib PROPERTIES FOLDER "Tests") +set_target_properties(DynamicLibraryLib PROPERTIES FOLDER "LLVM/Tests") # extract_symbols.py relies on all its library arguments being in the same # directory, so we must set the output directory in the same way as if @@ -25,7 +25,7 @@ function(dynlib_add_module NAME) add_library(${NAME} MODULE PipSqueak.cpp ) - set_target_properties(${NAME} PROPERTIES FOLDER "Tests") + set_target_properties(${NAME} PROPERTIES FOLDER "LLVM/Tests") set_output_directory(${NAME} BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} diff --git a/llvm/unittests/Target/AArch64/CMakeLists.txt b/llvm/unittests/Target/AArch64/CMakeLists.txt index 64ab991ac479a..f53668373efee 100644 --- a/llvm/unittests/Target/AArch64/CMakeLists.txt +++ b/llvm/unittests/Target/AArch64/CMakeLists.txt @@ -31,5 +31,3 @@ add_llvm_target_unittest(AArch64Tests AArch64SVESchedPseudoTest.cpp Immediates.cpp ) - -set_property(TARGET AArch64Tests PROPERTY FOLDER "Tests/UnitTests/TargetTests") diff --git a/llvm/unittests/Target/AMDGPU/CMakeLists.txt b/llvm/unittests/Target/AMDGPU/CMakeLists.txt index 2d7a47943df69..ae5052925712a 100644 --- a/llvm/unittests/Target/AMDGPU/CMakeLists.txt +++ b/llvm/unittests/Target/AMDGPU/CMakeLists.txt @@ -21,5 +21,3 @@ add_llvm_target_unittest(AMDGPUTests DwarfRegMappings.cpp ExecMayBeModifiedBeforeAnyUse.cpp ) - -set_property(TARGET AMDGPUTests PROPERTY FOLDER "Tests/UnitTests/TargetTests") diff --git a/llvm/unittests/Target/ARM/CMakeLists.txt b/llvm/unittests/Target/ARM/CMakeLists.txt index 3da6cd95caedc..5da249708abf9 100644 --- a/llvm/unittests/Target/ARM/CMakeLists.txt +++ b/llvm/unittests/Target/ARM/CMakeLists.txt @@ -23,5 +23,3 @@ add_llvm_target_unittest(ARMTests MachineInstrTest.cpp InstSizes.cpp ) - -set_property(TARGET ARMTests PROPERTY FOLDER "Tests/UnitTests/TargetTests") diff --git a/llvm/unittests/Target/CMakeLists.txt b/llvm/unittests/Target/CMakeLists.txt index b10236a2948f8..589314fad889d 100644 --- a/llvm/unittests/Target/CMakeLists.txt +++ b/llvm/unittests/Target/CMakeLists.txt @@ -9,6 +9,3 @@ set(LLVM_LINK_COMPONENTS Core Target AllTargetsCodeGens AllTargetsDescs AllTarge add_llvm_unittest(TargetMachineCTests TargetMachineOptionsTest.cpp ) - -set_property(TARGET TargetMachineCTests - PROPERTY FOLDER "Tests/UnitTests/TargetTests") diff --git a/llvm/unittests/Target/LoongArch/CMakeLists.txt b/llvm/unittests/Target/LoongArch/CMakeLists.txt index e6f8ec073721f..6e7e49b4cb4e0 100644 --- a/llvm/unittests/Target/LoongArch/CMakeLists.txt +++ b/llvm/unittests/Target/LoongArch/CMakeLists.txt @@ -22,5 +22,3 @@ add_llvm_target_unittest(LoongArchTests InstSizes.cpp MCInstrAnalysisTest.cpp ) - -set_property(TARGET LoongArchTests PROPERTY FOLDER "Tests/UnitTests/TargetTests") diff --git a/llvm/unittests/Target/PowerPC/CMakeLists.txt b/llvm/unittests/Target/PowerPC/CMakeLists.txt index 893e7587b372d..a45052950704e 100644 --- a/llvm/unittests/Target/PowerPC/CMakeLists.txt +++ b/llvm/unittests/Target/PowerPC/CMakeLists.txt @@ -16,5 +16,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_unittest(PowerPCTests AIXRelocModelTest.cpp ) - -set_property(TARGET PowerPCTests PROPERTY FOLDER "Tests/UnitTests/TargetTests") diff --git a/llvm/unittests/Target/RISCV/CMakeLists.txt b/llvm/unittests/Target/RISCV/CMakeLists.txt index 0a64bf273e314..10d6412f9b358 100644 --- a/llvm/unittests/Target/RISCV/CMakeLists.txt +++ b/llvm/unittests/Target/RISCV/CMakeLists.txt @@ -19,5 +19,3 @@ add_llvm_target_unittest(RISCVTests MCInstrAnalysisTest.cpp RISCVInstrInfoTest.cpp ) - -set_property(TARGET RISCVTests PROPERTY FOLDER "Tests/UnitTests/TargetTests") diff --git a/llvm/unittests/Target/WebAssembly/CMakeLists.txt b/llvm/unittests/Target/WebAssembly/CMakeLists.txt index 6175e6bfe6e1c..b1e01169e7a06 100644 --- a/llvm/unittests/Target/WebAssembly/CMakeLists.txt +++ b/llvm/unittests/Target/WebAssembly/CMakeLists.txt @@ -18,5 +18,3 @@ set(LLVM_LINK_COMPONENTS add_llvm_target_unittest(WebAssemblyTests WebAssemblyExceptionInfoTest.cpp ) - -set_property(TARGET WebAssemblyTests PROPERTY FOLDER "Tests/UnitTests/TargetTests") diff --git a/llvm/unittests/Target/X86/CMakeLists.txt b/llvm/unittests/Target/X86/CMakeLists.txt index 2b371966d1bcd..b011681aa3b95 100644 --- a/llvm/unittests/Target/X86/CMakeLists.txt +++ b/llvm/unittests/Target/X86/CMakeLists.txt @@ -25,5 +25,3 @@ add_llvm_unittest(X86Tests MachineSizeOptsTest.cpp TernlogTest.cpp ) - -set_property(TARGET X86Tests PROPERTY FOLDER "Tests/UnitTests/TargetTests") diff --git a/llvm/unittests/Transforms/Coroutines/CMakeLists.txt b/llvm/unittests/Transforms/Coroutines/CMakeLists.txt index 0913e82a34432..8a457753ce3e2 100644 --- a/llvm/unittests/Transforms/Coroutines/CMakeLists.txt +++ b/llvm/unittests/Transforms/Coroutines/CMakeLists.txt @@ -14,5 +14,3 @@ add_llvm_unittest(CoroTests ) target_link_libraries(CoroTests PRIVATE LLVMTestingSupport) - -set_property(TARGET CoroTests PROPERTY FOLDER "Tests/UnitTests/TransformTests") diff --git a/llvm/unittests/Transforms/IPO/CMakeLists.txt b/llvm/unittests/Transforms/IPO/CMakeLists.txt index 4e4372179b46c..ac632450d5730 100644 --- a/llvm/unittests/Transforms/IPO/CMakeLists.txt +++ b/llvm/unittests/Transforms/IPO/CMakeLists.txt @@ -14,5 +14,3 @@ add_llvm_unittest(IPOTests AttributorTest.cpp FunctionSpecializationTest.cpp ) - -set_property(TARGET IPOTests PROPERTY FOLDER "Tests/UnitTests/TransformsTests") diff --git a/llvm/unittests/Transforms/Scalar/CMakeLists.txt b/llvm/unittests/Transforms/Scalar/CMakeLists.txt index 5e37ecf4fe4a5..eaa2c4eb27a1c 100644 --- a/llvm/unittests/Transforms/Scalar/CMakeLists.txt +++ b/llvm/unittests/Transforms/Scalar/CMakeLists.txt @@ -19,5 +19,3 @@ target_link_libraries(ScalarTests PRIVATE LLVMTestingSupport) if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0 AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0) set_source_files_properties(LoopPassManagerTest.cpp PROPERTIES COMPILE_FLAGS -Wno-unused-function) endif() - -set_property(TARGET ScalarTests PROPERTY FOLDER "Tests/UnitTests/TransformsTests") diff --git a/llvm/unittests/Transforms/Utils/CMakeLists.txt b/llvm/unittests/Transforms/Utils/CMakeLists.txt index 2974811d6c412..35055baa05ee9 100644 --- a/llvm/unittests/Transforms/Utils/CMakeLists.txt +++ b/llvm/unittests/Transforms/Utils/CMakeLists.txt @@ -32,5 +32,3 @@ add_llvm_unittest(UtilsTests ValueMapperTest.cpp ProfDataUtilTest.cpp ) - -set_property(TARGET UtilsTests PROPERTY FOLDER "Tests/UnitTests/TransformsTests") diff --git a/llvm/unittests/Transforms/Vectorize/CMakeLists.txt b/llvm/unittests/Transforms/Vectorize/CMakeLists.txt index 4f8dd577d0aa7..1354558a94f0d 100644 --- a/llvm/unittests/Transforms/Vectorize/CMakeLists.txt +++ b/llvm/unittests/Transforms/Vectorize/CMakeLists.txt @@ -13,5 +13,3 @@ add_llvm_unittest(VectorizeTests VPlanSlpTest.cpp VPlanVerifierTest.cpp ) - -set_property(TARGET VectorizeTests PROPERTY FOLDER "Tests/UnitTests/TransformsTests") diff --git a/llvm/unittests/tools/llvm-cfi-verify/CMakeLists.txt b/llvm/unittests/tools/llvm-cfi-verify/CMakeLists.txt index 9a4e8663c8069..7fc5dac85bb74 100644 --- a/llvm/unittests/tools/llvm-cfi-verify/CMakeLists.txt +++ b/llvm/unittests/tools/llvm-cfi-verify/CMakeLists.txt @@ -16,5 +16,3 @@ add_llvm_unittest(CFIVerifyTests GraphBuilder.cpp ) target_link_libraries(CFIVerifyTests PRIVATE LLVMCFIVerify) - -set_property(TARGET CFIVerifyTests PROPERTY FOLDER "Tests/UnitTests/ToolTests") diff --git a/llvm/unittests/tools/llvm-exegesis/CMakeLists.txt b/llvm/unittests/tools/llvm-exegesis/CMakeLists.txt index 8b2f6334dda86..3ee3a0dc6b5d0 100644 --- a/llvm/unittests/tools/llvm-exegesis/CMakeLists.txt +++ b/llvm/unittests/tools/llvm-exegesis/CMakeLists.txt @@ -62,5 +62,3 @@ add_llvm_target_unittest(LLVMExegesisTests ${exegesis_sources} ) target_link_libraries(LLVMExegesisTests PRIVATE ${exegesis_link_libraries}) - -set_property(TARGET LLVMExegesisTests PROPERTY FOLDER "Tests/UnitTests/ToolTests") diff --git a/llvm/unittests/tools/llvm-mca/CMakeLists.txt b/llvm/unittests/tools/llvm-mca/CMakeLists.txt index b209d7931190d..9c69509b4b54d 100644 --- a/llvm/unittests/tools/llvm-mca/CMakeLists.txt +++ b/llvm/unittests/tools/llvm-mca/CMakeLists.txt @@ -48,5 +48,3 @@ include_directories(${mca_includes}) add_llvm_target_unittest(LLVMMCATests ${mca_sources} ) - -set_property(TARGET LLVMMCATests PROPERTY FOLDER "Tests/UnitTests/ToolTests") diff --git a/llvm/unittests/tools/llvm-profdata/CMakeLists.txt b/llvm/unittests/tools/llvm-profdata/CMakeLists.txt index ad91ce36bcb5b..71de2326ee82c 100644 --- a/llvm/unittests/tools/llvm-profdata/CMakeLists.txt +++ b/llvm/unittests/tools/llvm-profdata/CMakeLists.txt @@ -9,5 +9,3 @@ add_llvm_unittest(LLVMProfdataTests ) target_link_libraries(LLVMProfdataTests PRIVATE LLVMTestingSupport) - -set_property(TARGET LLVMProfdataTests PROPERTY FOLDER "Tests/UnitTests/ToolTests") diff --git a/llvm/unittests/tools/llvm-profgen/CMakeLists.txt b/llvm/unittests/tools/llvm-profgen/CMakeLists.txt index a733843ef5193..5a658cf708467 100644 --- a/llvm/unittests/tools/llvm-profgen/CMakeLists.txt +++ b/llvm/unittests/tools/llvm-profgen/CMakeLists.txt @@ -9,5 +9,3 @@ add_llvm_unittest(LLVMProfgenTests target_link_libraries(LLVMProfgenTests PRIVATE LLVMTestingSupport) add_dependencies(LLVMProfgenTests intrinsics_gen) - -set_property(TARGET LLVMProfgenTests PROPERTY FOLDER "Tests/UnitTests/ToolTests") diff --git a/llvm/utils/LLVMVisualizers/CMakeLists.txt b/llvm/utils/LLVMVisualizers/CMakeLists.txt index 9fdc8906e55ae..db0a95c7d2b75 100644 --- a/llvm/utils/LLVMVisualizers/CMakeLists.txt +++ b/llvm/utils/LLVMVisualizers/CMakeLists.txt @@ -3,5 +3,5 @@ if (LLVM_ADD_NATIVE_VISUALIZERS_TO_SOLUTION) set(LLVM_VISUALIZERS llvm.natvis) add_custom_target(LLVMVisualizers SOURCES ${LLVM_VISUALIZERS}) - set_target_properties(LLVMVisualizers PROPERTIES FOLDER "Utils") + set_target_properties(LLVMVisualizers PROPERTIES FOLDER "LLVM/Utils") endif() diff --git a/llvm/utils/TableGen/Basic/CMakeLists.txt b/llvm/utils/TableGen/Basic/CMakeLists.txt index 5a899e3b7c803..09d79a01cae0a 100644 --- a/llvm/utils/TableGen/Basic/CMakeLists.txt +++ b/llvm/utils/TableGen/Basic/CMakeLists.txt @@ -12,7 +12,6 @@ add_llvm_library(LLVMTableGenBasic OBJECT EXCLUDE_FROM_ALL CodeGenIntrinsics.cpp SDNodeProperties.cpp ) -set_target_properties(LLVMTableGenBasic PROPERTIES FOLDER "Tablegenning") # Users may include its headers as "Basic/*.h" target_include_directories(LLVMTableGenBasic diff --git a/llvm/utils/TableGen/CMakeLists.txt b/llvm/utils/TableGen/CMakeLists.txt index 577aeded4be72..3dea626ab2ef8 100644 --- a/llvm/utils/TableGen/CMakeLists.txt +++ b/llvm/utils/TableGen/CMakeLists.txt @@ -22,7 +22,6 @@ add_tablegen(llvm-min-tblgen LLVM_HEADERS PARTIAL_SOURCES_INTENDED ) -set_target_properties(llvm-min-tblgen PROPERTIES FOLDER "Tablegenning") set(LLVM_LINK_COMPONENTS CodeGenTypes @@ -81,4 +80,3 @@ add_tablegen(llvm-tblgen LLVM DEPENDS intrinsics_gen # via llvm-min-tablegen ) -set_target_properties(llvm-tblgen PROPERTIES FOLDER "Tablegenning") diff --git a/llvm/utils/TableGen/Common/CMakeLists.txt b/llvm/utils/TableGen/Common/CMakeLists.txt index c31ed5a1de690..fb50785a038f3 100644 --- a/llvm/utils/TableGen/Common/CMakeLists.txt +++ b/llvm/utils/TableGen/Common/CMakeLists.txt @@ -42,7 +42,6 @@ add_llvm_library(LLVMTableGenCommon STATIC OBJECT EXCLUDE_FROM_ALL DEPENDS vt_gen ) -set_target_properties(LLVMTableGenCommon PROPERTIES FOLDER "Tablegenning") # Users may include its headers as "Common/*.h" target_include_directories(LLVMTableGenCommon diff --git a/llvm/utils/lit/CMakeLists.txt b/llvm/utils/lit/CMakeLists.txt index 3dc2dc0d8efcd..d22a778e2e531 100644 --- a/llvm/utils/lit/CMakeLists.txt +++ b/llvm/utils/lit/CMakeLists.txt @@ -26,5 +26,5 @@ add_lit_testsuite(check-lit "Running lit's tests" ) # For IDEs -set_target_properties(check-lit PROPERTIES FOLDER "Tests") -set_target_properties(prepare-check-lit PROPERTIES FOLDER "Tests") +set_target_properties(check-lit PROPERTIES FOLDER "LLVM/Tests") +set_target_properties(prepare-check-lit PROPERTIES FOLDER "LLVM/Tests") diff --git a/llvm/utils/llvm-locstats/CMakeLists.txt b/llvm/utils/llvm-locstats/CMakeLists.txt index 1dbb9da92e238..c0e0d43a7bd78 100644 --- a/llvm/utils/llvm-locstats/CMakeLists.txt +++ b/llvm/utils/llvm-locstats/CMakeLists.txt @@ -12,5 +12,5 @@ if (LLVM_INCLUDE_UTILS AND LLVM_INCLUDE_TOOLS) if (NOT LLVM_BUILD_TOOLS) set_target_properties(llvm-locstats PROPERTIES EXCLUDE_FROM_ALL ON) endif() - set_target_properties(llvm-locstats PROPERTIES FOLDER "Tools") + set_target_properties(llvm-locstats PROPERTIES FOLDER "LLVM/Tools") endif() diff --git a/llvm/utils/mlgo-utils/CMakeLists.txt b/llvm/utils/mlgo-utils/CMakeLists.txt index 3129331d58c75..dc78123ae4a85 100644 --- a/llvm/utils/mlgo-utils/CMakeLists.txt +++ b/llvm/utils/mlgo-utils/CMakeLists.txt @@ -8,4 +8,4 @@ add_lit_testsuite(check-mlgo-utils "Running mlgo-utils tests" DEPENDS "FileCheck" "not" "count" "split-file" "yaml2obj" "llvm-objcopy" ) -set_target_properties(check-mlgo-utils PROPERTIES FOLDER "Tests") +set_target_properties(check-mlgo-utils PROPERTIES FOLDER "LLVM/Tests") >From 0ce849c6e5455577a77f4c25d08e8ec83115a290 Mon Sep 17 00:00:00 2001 From: Michael Kruse <llvm-proj...@meinersbur.de> Date: Tue, 23 Apr 2024 13:29:28 +0200 Subject: [PATCH 2/6] Revise IDE folder structure --- cross-project-tests/CMakeLists.txt | 6 +----- libc/CMakeLists.txt | 1 + libcxx/CMakeLists.txt | 1 + libcxxabi/CMakeLists.txt | 1 + libunwind/CMakeLists.txt | 1 + llvm-libgcc/CMakeLists.txt | 1 + offload/CMakeLists.txt | 1 + pstl/CMakeLists.txt | 1 + runtimes/CMakeLists.txt | 1 + 9 files changed, 9 insertions(+), 5 deletions(-) diff --git a/cross-project-tests/CMakeLists.txt b/cross-project-tests/CMakeLists.txt index f7c2ca7ad83de..7f2fee48fda77 100644 --- a/cross-project-tests/CMakeLists.txt +++ b/cross-project-tests/CMakeLists.txt @@ -3,6 +3,7 @@ # The subset inside debuginfo-tests invoke clang to generate programs with # various types of debug info, and then run those programs under a debugger # such as GDB or LLDB to verify the results. +set(LLVM_SUBPROJECT_TITLE "Cross-Project") find_package(Python3 COMPONENTS Interpreter) @@ -97,8 +98,3 @@ add_lit_testsuite(check-cross-amdgpu "Running AMDGPU cross-project tests" add_lit_testsuites(CROSS_PROJECT ${CMAKE_CURRENT_SOURCE_DIR} DEPENDS ${CROSS_PROJECT_TEST_DEPS} ) - -set_target_properties(check-cross-project PROPERTIES FOLDER "Tests") -set_target_properties(check-debuginfo PROPERTIES FOLDER "Tests") -set_target_properties(check-intrinsic-headers PROPERTIES FOLDER "Tests") -set_target_properties(check-cross-amdgpu PROPERTIES FOLDER "Tests") diff --git a/libc/CMakeLists.txt b/libc/CMakeLists.txt index 175efd89d67e6..f35471a06a53e 100644 --- a/libc/CMakeLists.txt +++ b/libc/CMakeLists.txt @@ -1,4 +1,5 @@ cmake_minimum_required(VERSION 3.20.0) +set(LLVM_SUBPROJECT_TITLE "libc") # Include LLVM's cmake policies. if(NOT DEFINED LLVM_COMMON_CMAKE_UTILS) diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt index 2977c26646cb2..d75f22ecf0222 100644 --- a/libcxx/CMakeLists.txt +++ b/libcxx/CMakeLists.txt @@ -5,6 +5,7 @@ # Setup Project #=============================================================================== cmake_minimum_required(VERSION 3.20.0) +set(LLVM_SUBPROJECT_TITLE "libc++") set(LLVM_COMMON_CMAKE_UTILS "${CMAKE_CURRENT_SOURCE_DIR}/../cmake") diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt index da998d2221dc4..f7673da25d20e 100644 --- a/libcxxabi/CMakeLists.txt +++ b/libcxxabi/CMakeLists.txt @@ -5,6 +5,7 @@ #=============================================================================== cmake_minimum_required(VERSION 3.20.0) +set(LLVM_SUBPROJECT_TITLE "libc++abi") set(LLVM_COMMON_CMAKE_UTILS "${CMAKE_CURRENT_SOURCE_DIR}/../cmake") diff --git a/libunwind/CMakeLists.txt b/libunwind/CMakeLists.txt index 806d5a783ec39..2117cd9e756ef 100644 --- a/libunwind/CMakeLists.txt +++ b/libunwind/CMakeLists.txt @@ -3,6 +3,7 @@ #=============================================================================== cmake_minimum_required(VERSION 3.20.0) +set(LLVM_SUBPROJECT_TITLE "libunwind") set(LLVM_COMMON_CMAKE_UTILS "${CMAKE_CURRENT_SOURCE_DIR}/../cmake") diff --git a/llvm-libgcc/CMakeLists.txt b/llvm-libgcc/CMakeLists.txt index 013c9ca2e3307..c6641ab9e3219 100644 --- a/llvm-libgcc/CMakeLists.txt +++ b/llvm-libgcc/CMakeLists.txt @@ -3,6 +3,7 @@ #=============================================================================== cmake_minimum_required(VERSION 3.20.0) +set(LLVM_SUBPROJECT_TITLE "LLVM libgcc") set(LLVM_COMMON_CMAKE_UTILS "${CMAKE_CURRENT_SOURCE_DIR}/../cmake") diff --git a/offload/CMakeLists.txt b/offload/CMakeLists.txt index abc8baa0805ff..44a3d17b2e59a 100644 --- a/offload/CMakeLists.txt +++ b/offload/CMakeLists.txt @@ -11,6 +11,7 @@ ##===----------------------------------------------------------------------===## cmake_minimum_required(VERSION 3.20.0) +set(LLVM_SUBPROJECT_TITLE "liboffload") if ("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") set(OPENMP_STANDALONE_BUILD TRUE) diff --git a/pstl/CMakeLists.txt b/pstl/CMakeLists.txt index 255e22af9a26b..592e11d356473 100644 --- a/pstl/CMakeLists.txt +++ b/pstl/CMakeLists.txt @@ -6,6 +6,7 @@ # #===----------------------------------------------------------------------===## cmake_minimum_required(VERSION 3.20.0) +set(LLVM_SUBPROJECT_TITLE "Parallel STL") set(PARALLELSTL_VERSION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/include/pstl/internal/pstl_config.h") file(STRINGS "${PARALLELSTL_VERSION_FILE}" PARALLELSTL_VERSION_SOURCE REGEX "#define _PSTL_VERSION .*$") diff --git a/runtimes/CMakeLists.txt b/runtimes/CMakeLists.txt index fcc59c8fa1c37..76ad8aa1f353e 100644 --- a/runtimes/CMakeLists.txt +++ b/runtimes/CMakeLists.txt @@ -9,6 +9,7 @@ include(${LLVM_COMMON_CMAKE_UTILS}/Modules/CMakePolicy.cmake include(${LLVM_COMMON_CMAKE_UTILS}/Modules/LLVMVersion.cmake) project(Runtimes C CXX ASM) +set(LLVM_SUBPROJECT_TITLE "Runtimes") list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRENT_SOURCE_DIR}/cmake" >From dc66a30923c758e3777bf34c65ba96cad679f5f9 Mon Sep 17 00:00:00 2001 From: Michael Kruse <llvm-proj...@meinersbur.de> Date: Wed, 24 Apr 2024 00:15:55 +0200 Subject: [PATCH 3/6] Change the folder of exported symbols from "Misc" to "API". Suggested by @JDevlieghere in #89748. --- llvm/cmake/modules/AddLLVM.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake index 25e35e22ccb71..5b61adf3e9efc 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -167,7 +167,7 @@ function(add_llvm_symbol_exports target_name export_file) add_custom_target(${target_name}_exports DEPENDS ${native_export_file}) get_subproject_title(subproject_title) - set_target_properties(${target_name}_exports PROPERTIES FOLDER "${subproject_title}/Misc") + set_target_properties(${target_name}_exports PROPERTIES FOLDER "${subproject_title}/API") get_property(srcs TARGET ${target_name} PROPERTY SOURCES) foreach(src ${srcs}) >From 9217419104b2eaf21fc5c866716eacca40f02327 Mon Sep 17 00:00:00 2001 From: Michael Kruse <llvm-proj...@meinersbur.de> Date: Wed, 24 Apr 2024 12:57:44 +0200 Subject: [PATCH 4/6] Remove redundant FOLDER target property --- llvm/runtimes/CMakeLists.txt | 2 +- llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt | 1 - llvm/utils/mlgo-utils/CMakeLists.txt | 2 -- 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/llvm/runtimes/CMakeLists.txt b/llvm/runtimes/CMakeLists.txt index c5d754ab2781f..9f72a406ad463 100644 --- a/llvm/runtimes/CMakeLists.txt +++ b/llvm/runtimes/CMakeLists.txt @@ -395,7 +395,7 @@ function(runtime_register_target name) EXTRA_TARGETS ${${name}_extra_targets} ${${name}_test_targets} USE_TOOLCHAIN - FOLDER "${name}" + FOLDER "Runtimes" ${EXTRA_ARGS} ${ARG_EXTRA_ARGS}) add_dependencies(runtimes runtimes-${name}) diff --git a/llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt b/llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt index 86d4f64fb42ac..cc470a934426d 100644 --- a/llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt +++ b/llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt @@ -18,5 +18,4 @@ if (NOT WIN32 AND NOT CYGWIN) # it is built before the plugin. add_dependencies(InlineOrderPlugin intrinsics_gen) add_dependencies(AnalysisTests InlineOrderPlugin) - set_property(TARGET InlineOrderPlugin PROPERTY FOLDER "Tests/Unittests/AnalysisTests") endif() diff --git a/llvm/utils/mlgo-utils/CMakeLists.txt b/llvm/utils/mlgo-utils/CMakeLists.txt index dc78123ae4a85..2f3920644b737 100644 --- a/llvm/utils/mlgo-utils/CMakeLists.txt +++ b/llvm/utils/mlgo-utils/CMakeLists.txt @@ -7,5 +7,3 @@ add_lit_testsuite(check-mlgo-utils "Running mlgo-utils tests" ${CMAKE_CURRENT_BINARY_DIR} DEPENDS "FileCheck" "not" "count" "split-file" "yaml2obj" "llvm-objcopy" ) - -set_target_properties(check-mlgo-utils PROPERTIES FOLDER "LLVM/Tests") >From 0e864bbd4142cf202aa9ffd66eb67c9528c0f452 Mon Sep 17 00:00:00 2001 From: Michael Kruse <llvm-proj...@meinersbur.de> Date: Tue, 21 May 2024 22:11:51 +0200 Subject: [PATCH 5/6] Finetune llvm folders --- llvm/cmake/modules/AddLLVM.cmake | 10 +++++----- llvm/cmake/modules/AddOCaml.cmake | 3 ++- llvm/cmake/modules/LLVMDistributionSupport.cmake | 6 ++++-- llvm/cmake/modules/TableGen.cmake | 4 +--- llvm/unittests/Support/DynamicLibrary/CMakeLists.txt | 4 ++-- llvm/utils/LLVMVisualizers/CMakeLists.txt | 2 +- 6 files changed, 15 insertions(+), 14 deletions(-) diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake index 5b61adf3e9efc..ecbae8a32f1ac 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -825,7 +825,7 @@ function(add_llvm_install_targets target) ${prefix_option} -P "${CMAKE_BINARY_DIR}/cmake_install.cmake" USES_TERMINAL) - set_target_properties(${target} PROPERTIES FOLDER "${subproject_title}/Install") + set_target_properties(${target} PROPERTIES FOLDER "${subproject_title}/Installation") add_custom_target(${target}-stripped DEPENDS ${file_dependencies} COMMAND "${CMAKE_COMMAND}" @@ -834,7 +834,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 "${subproject_title}/Install") + set_target_properties(${target}-stripped PROPERTIES FOLDER "${subproject_title}/Installation") if(target_dependencies) add_dependencies(${target} ${target_dependencies}) add_dependencies(${target}-stripped ${target_dependencies}) @@ -1449,8 +1449,8 @@ macro(llvm_add_tool project name) if( LLVM_BUILD_TOOLS ) set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) endif() - get_subproject_title(subproject_title) endif() + get_subproject_title(subproject_title) set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Tools") endmacro(llvm_add_tool project name) @@ -1745,7 +1745,7 @@ function(add_benchmark benchmark_name) set(outdir ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}) set_output_directory(${benchmark_name} BINARY_DIR ${outdir} LIBRARY_DIR ${outdir}) get_subproject_title(subproject_title) - set_property(TARGET ${benchmark_name} PROPERTY FOLDER "${subproject_title}/Utils") + set_property(TARGET ${benchmark_name} PROPERTY FOLDER "${subproject_title}/Benchmarks") target_link_libraries(${benchmark_name} PRIVATE benchmark) endfunction() @@ -2118,7 +2118,7 @@ function(add_lit_testsuites project directory) if (NOT ARG_FOLDER) get_subproject_title(subproject_title) - set(ARG_FOLDER "${subproject_title}/Tests") + set(ARG_FOLDER "${subproject_title}/Tests/LIT Testsuites") endif() # Search recursively for test directories by assuming anything not diff --git a/llvm/cmake/modules/AddOCaml.cmake b/llvm/cmake/modules/AddOCaml.cmake index 01e736a68c3be..2d9116b08a526 100644 --- a/llvm/cmake/modules/AddOCaml.cmake +++ b/llvm/cmake/modules/AddOCaml.cmake @@ -173,7 +173,8 @@ function(add_ocaml_library name) VERBATIM) add_custom_target("ocaml_${name}" ALL DEPENDS ${ocaml_outputs} "${bin}/${name}.odoc") - set_target_properties("ocaml_${name}" PROPERTIES FOLDER "LLVM/Bindings/OCaml") + get_subproject_title(subproject_title) + set_target_properties("ocaml_${name}" PROPERTIES FOLDER "${subproject_title}/Bindings/OCaml") set_target_properties("ocaml_${name}" PROPERTIES OCAML_FLAGS "-I;${bin}") diff --git a/llvm/cmake/modules/LLVMDistributionSupport.cmake b/llvm/cmake/modules/LLVMDistributionSupport.cmake index 011548419e0c3..03c6773570231 100644 --- a/llvm/cmake/modules/LLVMDistributionSupport.cmake +++ b/llvm/cmake/modules/LLVMDistributionSupport.cmake @@ -210,7 +210,8 @@ function(install_distribution_exports project) COMPONENT ${target}) if(NOT LLVM_ENABLE_IDE) add_custom_target(${target}) - set_target_properties(${target} PROPERTIES FOLDER "LLVM/Distribution") + get_subproject_title(subproject_title) + set_target_properties(${target} PROPERTIES FOLDER "${subproject_title}/Distribution") add_llvm_install_targets(install-${target} COMPONENT ${target}) endif() endif() @@ -261,12 +262,13 @@ function(llvm_distribution_add_targets) add_custom_target(${distribution_target}) add_custom_target(install-${distribution_target}) add_custom_target(install-${distribution_target}-stripped) + get_subproject_title(subproject_title) set_target_properties( ${distribution_target} install-${distribution_target} install-${distribution_target}-stripped PROPERTIES - FOLDER "LLVM/Distribution" + FOLDER "${subproject_title}/Distribution" ) foreach(target ${distribution_components}) diff --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake index b6b3666cd0d4d..ffcc718b47775 100644 --- a/llvm/cmake/modules/TableGen.cmake +++ b/llvm/cmake/modules/TableGen.cmake @@ -168,7 +168,7 @@ function(add_public_tablegen_target target) add_dependencies(${target} ${LLVM_COMMON_DEPENDS}) endif() get_subproject_title(subproject_title) - set_target_properties(${target} PROPERTIES FOLDER "${subproject_title}/Tablegenning/Targets") + set_target_properties(${target} PROPERTIES FOLDER "${subproject_title}/Tablegenning") set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} ${target} PARENT_SCOPE) endfunction() @@ -180,8 +180,6 @@ macro(add_tablegen target project) add_llvm_executable(${target} DISABLE_LLVM_LINK_LLVM_DYLIB ${ADD_TABLEGEN_UNPARSED_ARGUMENTS}) - get_subproject_title(subproject_title) - set_target_properties(${target} PROPERTIES FOLDER "${subproject_title}/Tablegenning") set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS}) set(${project}_TABLEGEN_DEFAULT "${target}") diff --git a/llvm/unittests/Support/DynamicLibrary/CMakeLists.txt b/llvm/unittests/Support/DynamicLibrary/CMakeLists.txt index 05610afae6061..4574acd629068 100644 --- a/llvm/unittests/Support/DynamicLibrary/CMakeLists.txt +++ b/llvm/unittests/Support/DynamicLibrary/CMakeLists.txt @@ -6,7 +6,7 @@ set(LLVM_LINK_COMPONENTS Support) add_library(DynamicLibraryLib STATIC ExportedFuncs.cpp ) -set_target_properties(DynamicLibraryLib PROPERTIES FOLDER "LLVM/Tests") +set_target_properties(DynamicLibraryLib PROPERTIES FOLDER "LLVM/Tests/Support") # extract_symbols.py relies on all its library arguments being in the same # directory, so we must set the output directory in the same way as if @@ -25,7 +25,7 @@ function(dynlib_add_module NAME) add_library(${NAME} MODULE PipSqueak.cpp ) - set_target_properties(${NAME} PROPERTIES FOLDER "LLVM/Tests") + set_target_properties(${NAME} PROPERTIES FOLDER "LLVM/Tests/Support") set_output_directory(${NAME} BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} diff --git a/llvm/utils/LLVMVisualizers/CMakeLists.txt b/llvm/utils/LLVMVisualizers/CMakeLists.txt index db0a95c7d2b75..d2c7ac4ffe720 100644 --- a/llvm/utils/LLVMVisualizers/CMakeLists.txt +++ b/llvm/utils/LLVMVisualizers/CMakeLists.txt @@ -3,5 +3,5 @@ if (LLVM_ADD_NATIVE_VISUALIZERS_TO_SOLUTION) set(LLVM_VISUALIZERS llvm.natvis) add_custom_target(LLVMVisualizers SOURCES ${LLVM_VISUALIZERS}) - set_target_properties(LLVMVisualizers PROPERTIES FOLDER "LLVM/Utils") + set_target_properties(LLVMVisualizers PROPERTIES FOLDER "LLVM/Misc") endif() >From f1bfcfeaf386496ebf7bf090ad4ba3ee1e595558 Mon Sep 17 00:00:00 2001 From: Michael Kruse <llvm-proj...@meinersbur.de> Date: Tue, 21 May 2024 23:42:32 +0200 Subject: [PATCH 6/6] Enable IDE Folders for runtimes-bins generator --- runtimes/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/runtimes/CMakeLists.txt b/runtimes/CMakeLists.txt index 76ad8aa1f353e..24f4851169591 100644 --- a/runtimes/CMakeLists.txt +++ b/runtimes/CMakeLists.txt @@ -10,6 +10,7 @@ include(${LLVM_COMMON_CMAKE_UTILS}/Modules/LLVMVersion.cmake) project(Runtimes C CXX ASM) set(LLVM_SUBPROJECT_TITLE "Runtimes") +set_property(GLOBAL PROPERTY USE_FOLDERS ON) list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRENT_SOURCE_DIR}/cmake" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits