Skip to content

Commit 4ecbfac

Browse files
authored
[llvm] Revise IDE folder structure (#89741)
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.
1 parent 8364659 commit 4ecbfac

File tree

56 files changed

+158
-113
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+158
-113
lines changed

llvm/CMakeLists.txt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1122,7 +1122,7 @@ configure_file(
11221122
add_custom_target(srpm
11231123
COMMAND cpack -G TGZ --config CPackSourceConfig.cmake -B ${LLVM_SRPM_DIR}/SOURCES
11241124
COMMAND rpmbuild -bs --define '_topdir ${LLVM_SRPM_DIR}' ${LLVM_SRPM_BINARY_SPECFILE})
1125-
set_target_properties(srpm PROPERTIES FOLDER "Misc")
1125+
set_target_properties(srpm PROPERTIES FOLDER "LLVM/Misc")
11261126

11271127
if(APPLE AND DARWIN_LTO_LIBRARY)
11281128
set(CMAKE_EXE_LINKER_FLAGS
@@ -1225,7 +1225,9 @@ if( LLVM_INCLUDE_UTILS )
12251225
add_subdirectory(utils/split-file)
12261226
add_subdirectory(utils/mlgo-utils)
12271227
if( LLVM_INCLUDE_TESTS )
1228+
set(LLVM_SUBPROJECT_TITLE "Third-Party/Google Test")
12281229
add_subdirectory(${LLVM_THIRD_PARTY_DIR}/unittest ${CMAKE_CURRENT_BINARY_DIR}/third-party/unittest)
1230+
set(LLVM_SUBPROJECT_TITLE)
12291231
endif()
12301232
else()
12311233
if ( LLVM_INCLUDE_TESTS )
@@ -1289,7 +1291,7 @@ if( LLVM_INCLUDE_TESTS )
12891291
if(LLVM_ALL_LIT_DEPENDS OR LLVM_ALL_ADDITIONAL_TEST_DEPENDS)
12901292
add_dependencies(test-depends ${LLVM_ALL_LIT_DEPENDS} ${LLVM_ALL_ADDITIONAL_TEST_DEPENDS})
12911293
endif()
1292-
set_target_properties(test-depends PROPERTIES FOLDER "Tests")
1294+
set_target_properties(test-depends PROPERTIES FOLDER "LLVM/Tests")
12931295
add_dependencies(check-all test-depends)
12941296
endif()
12951297

@@ -1346,7 +1348,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
13461348
# Installing the headers needs to depend on generating any public
13471349
# tablegen'd headers.
13481350
add_custom_target(llvm-headers DEPENDS intrinsics_gen omp_gen)
1349-
set_target_properties(llvm-headers PROPERTIES FOLDER "Misc")
1351+
set_target_properties(llvm-headers PROPERTIES FOLDER "LLVM/Resources")
13501352

13511353
if (NOT LLVM_ENABLE_IDE)
13521354
add_llvm_install_targets(install-llvm-headers
@@ -1356,7 +1358,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
13561358

13571359
# Custom target to install all libraries.
13581360
add_custom_target(llvm-libraries)
1359-
set_target_properties(llvm-libraries PROPERTIES FOLDER "Misc")
1361+
set_target_properties(llvm-libraries PROPERTIES FOLDER "LLVM/Resources")
13601362

13611363
if (NOT LLVM_ENABLE_IDE)
13621364
add_llvm_install_targets(install-llvm-libraries
@@ -1402,6 +1404,8 @@ if (LLVM_INCLUDE_BENCHMARKS)
14021404
set(HAVE_STD_REGEX ON CACHE BOOL "OK" FORCE)
14031405
add_subdirectory(${LLVM_THIRD_PARTY_DIR}/benchmark
14041406
${CMAKE_CURRENT_BINARY_DIR}/third-party/benchmark)
1407+
set_target_properties(benchmark PROPERTIES FOLDER "Third-Party/Google Benchmark")
1408+
set_target_properties(benchmark_main PROPERTIES FOLDER "Third-Party/Google Benchmark")
14051409
add_subdirectory(benchmarks)
14061410
endif()
14071411

llvm/cmake/modules/AddLLVM.cmake

Lines changed: 62 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,21 @@ include(LLVMProcessSources)
44
include(LLVM-Config)
55
include(DetermineGCCCompatible)
66

7+
# get_subproject_title(titlevar)
8+
# Set ${outvar} to the title of the current LLVM subproject (Clang, MLIR ...)
9+
#
10+
# The title is set in the subproject's top-level using the variable
11+
# LLVM_SUBPROJECT_TITLE. If it does not exist, it is assumed it is LLVM itself.
12+
# The title is not semantically significant, but use to create folders in
13+
# CMake-generated IDE projects (Visual Studio/XCode).
14+
function(get_subproject_title outvar)
15+
if (LLVM_SUBPROJECT_TITLE)
16+
set(${outvar} "${LLVM_SUBPROJECT_TITLE}" PARENT_SCOPE)
17+
else ()
18+
set(${outvar} "LLVM" PARENT_SCOPE)
19+
endif ()
20+
endfunction(get_subproject_title)
21+
722
function(llvm_update_compile_flags name)
823
get_property(sources TARGET ${name} PROPERTY SOURCES)
924
if("${sources}" MATCHES "\\.c(;|$)")
@@ -151,7 +166,8 @@ function(add_llvm_symbol_exports target_name export_file)
151166
endif()
152167

153168
add_custom_target(${target_name}_exports DEPENDS ${native_export_file})
154-
set_target_properties(${target_name}_exports PROPERTIES FOLDER "Misc")
169+
get_subproject_title(subproject_title)
170+
set_target_properties(${target_name}_exports PROPERTIES FOLDER "${subproject_title}/API")
155171

156172
get_property(srcs TARGET ${target_name} PROPERTY SOURCES)
157173
foreach(src ${srcs})
@@ -543,6 +559,8 @@ function(llvm_add_library name)
543559
endif()
544560
endif()
545561

562+
get_subproject_title(subproject_title)
563+
546564
# Generate objlib
547565
if((ARG_SHARED AND ARG_STATIC) OR ARG_OBJECT)
548566
# Generate an obj library for both targets.
@@ -564,7 +582,7 @@ function(llvm_add_library name)
564582
# Bring in the target include directories from our original target.
565583
target_include_directories(${obj_name} PRIVATE $<TARGET_PROPERTY:${name},INCLUDE_DIRECTORIES>)
566584

567-
set_target_properties(${obj_name} PROPERTIES FOLDER "Object Libraries")
585+
set_target_properties(${obj_name} PROPERTIES FOLDER "${subproject_title}/Object Libraries")
568586
if(ARG_DEPENDS)
569587
add_dependencies(${obj_name} ${ARG_DEPENDS})
570588
endif()
@@ -603,6 +621,7 @@ function(llvm_add_library name)
603621
LINK_LIBS ${ARG_LINK_LIBS}
604622
LINK_COMPONENTS ${ARG_LINK_COMPONENTS}
605623
)
624+
set_target_properties(${name_static} PROPERTIES FOLDER "${subproject_title}/Libraries")
606625

607626
# Bring in the target link info from our original target.
608627
target_link_directories(${name_static} PRIVATE $<TARGET_PROPERTY:${name},LINK_DIRECTORIES>)
@@ -620,6 +639,7 @@ function(llvm_add_library name)
620639
else()
621640
add_library(${name} STATIC ${ALL_FILES})
622641
endif()
642+
set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Libraries")
623643

624644
if(ARG_COMPONENT_LIB)
625645
set_target_properties(${name} PROPERTIES LLVM_COMPONENT TRUE)
@@ -796,14 +816,16 @@ function(add_llvm_install_targets target)
796816
endif()
797817
endforeach()
798818

819+
get_subproject_title(subproject_title)
820+
799821
add_custom_target(${target}
800822
DEPENDS ${file_dependencies}
801823
COMMAND "${CMAKE_COMMAND}"
802824
${component_option}
803825
${prefix_option}
804826
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
805827
USES_TERMINAL)
806-
set_target_properties(${target} PROPERTIES FOLDER "Component Install Targets")
828+
set_target_properties(${target} PROPERTIES FOLDER "${subproject_title}/Installation")
807829
add_custom_target(${target}-stripped
808830
DEPENDS ${file_dependencies}
809831
COMMAND "${CMAKE_COMMAND}"
@@ -812,7 +834,7 @@ function(add_llvm_install_targets target)
812834
-DCMAKE_INSTALL_DO_STRIP=1
813835
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
814836
USES_TERMINAL)
815-
set_target_properties(${target}-stripped PROPERTIES FOLDER "Component Install Targets (Stripped)")
837+
set_target_properties(${target}-stripped PROPERTIES FOLDER "${subproject_title}/Installation")
816838
if(target_dependencies)
817839
add_dependencies(${target} ${target_dependencies})
818840
add_dependencies(${target}-stripped ${target_dependencies})
@@ -832,6 +854,8 @@ endfunction()
832854
function(add_llvm_component_group name)
833855
cmake_parse_arguments(ARG "HAS_JIT" "" "LINK_COMPONENTS" ${ARGN})
834856
add_custom_target(${name})
857+
get_subproject_title(subproject_title)
858+
set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Component Groups")
835859
if(ARG_HAS_JIT)
836860
set_property(TARGET ${name} PROPERTY COMPONENT_HAS_JIT ON)
837861
endif()
@@ -865,6 +889,8 @@ function(add_llvm_component_library name)
865889

866890
if(ARG_ADD_TO_COMPONENT)
867891
set_property(TARGET ${ARG_ADD_TO_COMPONENT} APPEND PROPERTY LLVM_LINK_COMPONENTS ${component_name})
892+
get_subproject_title(subproject_title)
893+
set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Libraries/${ARG_ADD_TO_COMPONENT}")
868894
endif()
869895

870896
endfunction()
@@ -921,10 +947,12 @@ macro(add_llvm_library name)
921947
endif()
922948
set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
923949
endif()
950+
951+
get_subproject_title(subproject_title)
924952
if (ARG_MODULE)
925-
set_target_properties(${name} PROPERTIES FOLDER "Loadable modules")
953+
set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Loadable Modules")
926954
else()
927-
set_target_properties(${name} PROPERTIES FOLDER "Libraries")
955+
set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Libraries")
928956
endif()
929957
endmacro(add_llvm_library name)
930958

@@ -948,7 +976,8 @@ macro(generate_llvm_objects name)
948976
add_dependencies(${obj_name} ${ARG_DEPENDS})
949977
endif()
950978

951-
set_target_properties(${obj_name} PROPERTIES FOLDER "Object Libraries")
979+
get_subproject_title(subproject_title)
980+
set_target_properties(${obj_name} PROPERTIES FOLDER "${subproject_title}/Object Libraries")
952981
endif()
953982

954983
if (ARG_GENERATE_DRIVER)
@@ -999,6 +1028,8 @@ macro(add_llvm_executable name)
9991028
else()
10001029
add_executable(${name} ${ALL_FILES})
10011030
endif()
1031+
get_subproject_title(subproject_title)
1032+
set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Executables")
10021033

10031034
setup_dependency_debugging(${name} ${LLVM_COMMON_DEPENDS})
10041035

@@ -1418,8 +1449,9 @@ macro(llvm_add_tool project name)
14181449
if( LLVM_BUILD_TOOLS )
14191450
set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
14201451
endif()
1421-
set_target_properties(${name} PROPERTIES FOLDER "Tools")
14221452
endif()
1453+
get_subproject_title(subproject_title)
1454+
set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Tools")
14231455
endmacro(llvm_add_tool project name)
14241456
14251457
macro(add_llvm_tool name)
@@ -1435,7 +1467,8 @@ macro(add_llvm_example name)
14351467
if( LLVM_BUILD_EXAMPLES )
14361468
install(TARGETS ${name} RUNTIME DESTINATION "${LLVM_EXAMPLES_INSTALL_DIR}")
14371469
endif()
1438-
set_target_properties(${name} PROPERTIES FOLDER "Examples")
1470+
get_subproject_title(subproject_title)
1471+
set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Examples")
14391472
endmacro(add_llvm_example name)
14401473
14411474
macro(add_llvm_example_library name)
@@ -1446,7 +1479,8 @@ macro(add_llvm_example_library name)
14461479
add_llvm_library(${name} ${ARGN})
14471480
endif()
14481481
1449-
set_target_properties(${name} PROPERTIES FOLDER "Examples")
1482+
get_subproject_title(subproject_title)
1483+
set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Examples")
14501484
endmacro(add_llvm_example_library name)
14511485
14521486
# This is a macro that is used to create targets for executables that are needed
@@ -1457,7 +1491,8 @@ macro(add_llvm_utility name)
14571491
endif()
14581492
14591493
add_llvm_executable(${name} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN})
1460-
set_target_properties(${name} PROPERTIES FOLDER "Utils")
1494+
get_subproject_title(subproject_title)
1495+
set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Utils")
14611496
if ( ${name} IN_LIST LLVM_TOOLCHAIN_UTILITIES OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
14621497
if (LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS)
14631498
get_target_export_arg(${name} LLVM export_to_llvmexports)
@@ -1480,19 +1515,20 @@ endmacro(add_llvm_utility name)
14801515
14811516
macro(add_llvm_fuzzer name)
14821517
cmake_parse_arguments(ARG "" "DUMMY_MAIN" "" ${ARGN})
1518+
get_subproject_title(subproject_title)
14831519
if( LLVM_LIB_FUZZING_ENGINE )
14841520
set(LLVM_OPTIONAL_SOURCES ${ARG_DUMMY_MAIN})
14851521
add_llvm_executable(${name} ${ARG_UNPARSED_ARGUMENTS})
14861522
target_link_libraries(${name} PRIVATE ${LLVM_LIB_FUZZING_ENGINE})
1487-
set_target_properties(${name} PROPERTIES FOLDER "Fuzzers")
1523+
set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Fuzzers")
14881524
elseif( LLVM_USE_SANITIZE_COVERAGE )
14891525
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=fuzzer")
14901526
set(LLVM_OPTIONAL_SOURCES ${ARG_DUMMY_MAIN})
14911527
add_llvm_executable(${name} ${ARG_UNPARSED_ARGUMENTS})
1492-
set_target_properties(${name} PROPERTIES FOLDER "Fuzzers")
1528+
set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Fuzzers")
14931529
elseif( ARG_DUMMY_MAIN )
14941530
add_llvm_executable(${name} ${ARG_DUMMY_MAIN} ${ARG_UNPARSED_ARGUMENTS})
1495-
set_target_properties(${name} PROPERTIES FOLDER "Fuzzers")
1531+
set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Fuzzers")
14961532
endif()
14971533
endmacro()
14981534
@@ -1653,6 +1689,8 @@ function(add_unittest test_suite test_name)
16531689
16541690
list(APPEND LLVM_LINK_COMPONENTS Support) # gtest needs it for raw_ostream
16551691
add_llvm_executable(${test_name} IGNORE_EXTERNALIZE_DEBUGINFO NO_INSTALL_RPATH ${ARGN})
1692+
get_subproject_title(subproject_title)
1693+
set_target_properties(${test_name} PROPERTIES FOLDER "${subproject_title}/Tests/Unit")
16561694
16571695
# The runtime benefits of LTO don't outweight the compile time costs for tests.
16581696
if(LLVM_ENABLE_LTO)
@@ -1684,10 +1722,6 @@ function(add_unittest test_suite test_name)
16841722
target_link_libraries(${test_name} PRIVATE llvm_gtest_main llvm_gtest ${LLVM_PTHREAD_LIB})
16851723
16861724
add_dependencies(${test_suite} ${test_name})
1687-
get_target_property(test_suite_folder ${test_suite} FOLDER)
1688-
if (test_suite_folder)
1689-
set_property(TARGET ${test_name} PROPERTY FOLDER "${test_suite_folder}")
1690-
endif ()
16911725
endfunction()
16921726
16931727
# Use for test binaries that call llvm::getInputFileDirectory(). Use of this
@@ -1710,7 +1744,8 @@ function(add_benchmark benchmark_name)
17101744
add_llvm_executable(${benchmark_name} IGNORE_EXTERNALIZE_DEBUGINFO NO_INSTALL_RPATH ${ARGN})
17111745
set(outdir ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR})
17121746
set_output_directory(${benchmark_name} BINARY_DIR ${outdir} LIBRARY_DIR ${outdir})
1713-
set_property(TARGET ${benchmark_name} PROPERTY FOLDER "Utils")
1747+
get_subproject_title(subproject_title)
1748+
set_property(TARGET ${benchmark_name} PROPERTY FOLDER "${subproject_title}/Benchmarks")
17141749
target_link_libraries(${benchmark_name} PRIVATE benchmark)
17151750
endfunction()
17161751
@@ -1999,6 +2034,8 @@ function(add_lit_target target comment)
19992034
COMMAND ${CMAKE_COMMAND} -E echo "${target} does nothing, no tools built.")
20002035
message(STATUS "${target} does nothing.")
20012036
endif()
2037+
get_subproject_title(subproject_title)
2038+
set_target_properties(${target} PROPERTIES FOLDER "${subproject_title}/Tests")
20022039

20032040
if (ARG_DEPENDS)
20042041
add_dependencies(${target} ${ARG_DEPENDS})
@@ -2080,7 +2117,8 @@ function(add_lit_testsuites project directory)
20802117
cmake_parse_arguments(ARG "EXCLUDE_FROM_CHECK_ALL" "FOLDER" "PARAMS;DEPENDS;ARGS" ${ARGN})
20812118

20822119
if (NOT ARG_FOLDER)
2083-
set(ARG_FOLDER "Test Subdirectories")
2120+
get_subproject_title(subproject_title)
2121+
set(ARG_FOLDER "${subproject_title}/Tests/LIT Testsuites")
20842122
endif()
20852123

20862124
# Search recursively for test directories by assuming anything not
@@ -2282,7 +2320,8 @@ function(llvm_add_tool_symlink project link_name target)
22822320
set(should_build_all ALL)
22832321
endif()
22842322
add_custom_target(${target_name} ${should_build_all} DEPENDS ${target} ${output_path})
2285-
set_target_properties(${target_name} PROPERTIES FOLDER Tools)
2323+
get_subproject_title(subproject_title)
2324+
set_target_properties(${target_name} PROPERTIES FOLDER "${subproject_title}/Tools")
22862325

22872326
# Make sure both the link and target are toolchain tools
22882327
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)
25422581
if(LLVM_USE_HOST_TOOLS AND NOT ${setting_name})
25432582
build_native_tool(${tool_name} exe_name DEPENDS ${tool_name})
25442583
add_custom_target(${target_var_name} DEPENDS ${exe_name})
2584+
get_subproject_title(subproject_title)
2585+
set_target_properties(${target_var_name} PROPERTIES FOLDER "${subproject_title}/Native")
25452586
endif()
25462587
endfunction()

llvm/cmake/modules/AddOCaml.cmake

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,8 @@ function(add_ocaml_library name)
173173
VERBATIM)
174174

175175
add_custom_target("ocaml_${name}" ALL DEPENDS ${ocaml_outputs} "${bin}/${name}.odoc")
176+
get_subproject_title(subproject_title)
177+
set_target_properties("ocaml_${name}" PROPERTIES FOLDER "${subproject_title}/Bindings/OCaml")
176178

177179
set_target_properties("ocaml_${name}" PROPERTIES
178180
OCAML_FLAGS "-I;${bin}")
@@ -228,5 +230,5 @@ endfunction()
228230
add_custom_target(ocaml_make_directory
229231
COMMAND "${CMAKE_COMMAND}" "-E" "make_directory" "${LLVM_LIBRARY_DIR}/ocaml/llvm")
230232
add_custom_target("ocaml_all")
231-
set_target_properties(ocaml_all PROPERTIES FOLDER "Misc")
232-
set_target_properties(ocaml_make_directory PROPERTIES FOLDER "Misc")
233+
set_target_properties(ocaml_all PROPERTIES FOLDER "LLVM/Bindings/OCaml")
234+
set_target_properties(ocaml_make_directory PROPERTIES FOLDER "LLVM/Bindings/OCaml")

llvm/cmake/modules/AddSphinxTarget.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ if (LLVM_ENABLE_SPHINX)
66
find_package(Sphinx REQUIRED)
77
if (LLVM_BUILD_DOCS AND NOT TARGET sphinx)
88
add_custom_target(sphinx ALL)
9+
set_target_properties(sphinx PROPERTIES FOLDER "LLVM/Docs")
910
endif()
1011
else()
1112
message(STATUS "Sphinx disabled.")
@@ -58,6 +59,8 @@ function (add_sphinx_target builder project)
5859
"${SPHINX_BUILD_DIR}" # Output
5960
COMMENT
6061
"Generating ${builder} Sphinx documentation for ${project} into \"${SPHINX_BUILD_DIR}\"")
62+
get_subproject_title(subproject_title)
63+
set_target_properties(${SPHINX_TARGET_NAME} PROPERTIES FOLDER "${subproject_title}/Docs")
6164

6265
# When "clean" target is run, remove the Sphinx build directory
6366
set_property(DIRECTORY APPEND PROPERTY

llvm/cmake/modules/CrossCompile.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ function(llvm_create_cross_target project_name target_name toolchain buildtype)
4545

4646
add_custom_target(CREATE_${project_name}_${target_name}
4747
DEPENDS ${${project_name}_${target_name}_BUILD})
48+
get_subproject_title(subproject_title)
49+
set_target_properties(CREATE_${project_name}_${target_name} PROPERTIES FOLDER "${subproject_title}/Native")
4850

4951
# Escape semicolons in the targets list so that cmake doesn't expand
5052
# them to spaces.
@@ -98,6 +100,8 @@ function(llvm_create_cross_target project_name target_name toolchain buildtype)
98100

99101
add_custom_target(CONFIGURE_${project_name}_${target_name}
100102
DEPENDS ${${project_name}_${target_name}_BUILD}/CMakeCache.txt)
103+
get_subproject_title(subproject_title)
104+
set_target_properties(CONFIGURE_${project_name}_${target_name} PROPERTIES FOLDER "${subproject_title}/Native")
101105

102106
endfunction()
103107

0 commit comments

Comments
 (0)