diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt index 1e8290f3813ebf5349a3b55cc881f2e7b01afc57..f420dbba349cf27cfb87b839c643dd4cd9b1c75a 100644 --- a/compiler-rt/CMakeLists.txt +++ b/compiler-rt/CMakeLists.txt @@ -9,6 +9,7 @@ cmake_minimum_required(VERSION 3.4.3) if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR COMPILER_RT_STANDALONE_BUILD) project(CompilerRT C CXX ASM) set(COMPILER_RT_STANDALONE_BUILD TRUE) + set_property(GLOBAL PROPERTY USE_FOLDERS ON) endif() # Add path for custom compiler-rt modules. @@ -63,6 +64,11 @@ set(COMPILER_RT_BAREMETAL_BUILD OFF CACHE BOOLEAN if (COMPILER_RT_STANDALONE_BUILD) load_llvm_config() + if (TARGET intrinsics_gen) + # Loading the llvm config causes this target to be imported so place it + # under the appropriate folder in an IDE. + set_target_properties(intrinsics_gen PROPERTIES FOLDER "Compiler-RT Misc") + endif() # Find Python interpreter. set(Python_ADDITIONAL_VERSIONS 2.7 2.6 2.5) diff --git a/compiler-rt/cmake/Modules/AddCompilerRT.cmake b/compiler-rt/cmake/Modules/AddCompilerRT.cmake index be5b81f0512dbd296ea1eef935cbfd15d9227e8b..d2f314a44157b2e64ebd109d8f27af83d14e97c5 100644 --- a/compiler-rt/cmake/Modules/AddCompilerRT.cmake +++ b/compiler-rt/cmake/Modules/AddCompilerRT.cmake @@ -204,6 +204,8 @@ function(add_compiler_rt_runtime name type) # If the parent targets aren't created we should create them if(NOT TARGET ${LIB_PARENT_TARGET}) add_custom_target(${LIB_PARENT_TARGET}) + set_target_properties(${LIB_PARENT_TARGET} PROPERTIES + FOLDER "Compiler-RT Misc") endif() if(NOT TARGET install-${LIB_PARENT_TARGET}) # The parent install target specifies the parent component to scrape up @@ -500,6 +502,7 @@ macro(add_custom_libcxx name prefix) COMMENT "Clobbering ${name} build and stamp directories" USES_TERMINAL ) + set_target_properties(${name}-clear PROPERTIES FOLDER "Compiler-RT Misc") add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${name}-clobber-stamp @@ -512,6 +515,7 @@ macro(add_custom_libcxx name prefix) add_custom_target(${name}-clobber DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${name}-clobber-stamp) + set_target_properties(${name}-clobber PROPERTIES FOLDER "Compiler-RT Misc") set(PASSTHROUGH_VARIABLES CMAKE_C_COMPILER_TARGET diff --git a/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake b/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake index d9214c071a710aa064c21afe9fbc3ded01edbb0d..04cc955980faa8fdd5acb07e3b8ca287e092e63e 100644 --- a/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake +++ b/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake @@ -230,6 +230,7 @@ macro(darwin_add_builtin_library name suffix) list(APPEND ${LIB_OS}_${suffix}_libs ${libname}) list(APPEND ${LIB_OS}_${suffix}_lipo_flags -arch ${arch} $) + set_target_properties(${libname} PROPERTIES FOLDER "Compiler-RT Libraries") endmacro() function(darwin_lipo_libs name) @@ -251,6 +252,7 @@ function(darwin_lipo_libs name) add_dependencies(${LIB_PARENT_TARGET} ${name}) install(FILES ${LIB_OUTPUT_DIR}/lib${name}.a DESTINATION ${LIB_INSTALL_DIR}) + set_target_properties(${name} PROPERTIES FOLDER "Compiler-RT Misc") else() message(WARNING "Not generating lipo target for ${name} because no input libraries exist.") endif() diff --git a/compiler-rt/cmake/Modules/SanitizerUtils.cmake b/compiler-rt/cmake/Modules/SanitizerUtils.cmake index 9d029337b30642b53fe0fe665b9b797dd88015b3..f5dffb3636c1710d3e26454bff795727ef036d8c 100644 --- a/compiler-rt/cmake/Modules/SanitizerUtils.cmake +++ b/compiler-rt/cmake/Modules/SanitizerUtils.cmake @@ -94,4 +94,5 @@ else() add_custom_target(SanitizerLintCheck COMMAND echo "No lint check") endif() - +set_target_properties(SanitizerLintCheck + PROPERTIES FOLDER "Compiler-RT Misc") diff --git a/compiler-rt/cmake/base-config-ix.cmake b/compiler-rt/cmake/base-config-ix.cmake index c3e0db0431cbe8c60eece45d9a64c3af78955cf0..49628ff916e3a88953783bb00a5dca0bc2cb2cee 100644 --- a/compiler-rt/cmake/base-config-ix.cmake +++ b/compiler-rt/cmake/base-config-ix.cmake @@ -12,7 +12,14 @@ check_include_file(unwind.h HAVE_UNWIND_H) add_custom_target(compiler-rt ALL) add_custom_target(install-compiler-rt) add_custom_target(install-compiler-rt-stripped) -set_target_properties(compiler-rt PROPERTIES FOLDER "Compiler-RT Misc") +set_property( + TARGET + compiler-rt + install-compiler-rt + install-compiler-rt-stripped + PROPERTY + FOLDER "Compiler-RT Misc" +) # Setting these variables from an LLVM build is sufficient that compiler-rt can # construct the output paths, so it can behave as if it were in-tree here. diff --git a/compiler-rt/lib/tsan/CMakeLists.txt b/compiler-rt/lib/tsan/CMakeLists.txt index 51a43e170341f4047faf7ae48232e3ed31148e33..6b37a7fc993d45de83c27225dcdd419a0a78617b 100644 --- a/compiler-rt/lib/tsan/CMakeLists.txt +++ b/compiler-rt/lib/tsan/CMakeLists.txt @@ -139,6 +139,7 @@ if(APPLE) WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/go COMMENT "Checking TSan Go runtime..." VERBATIM) + set_target_properties(GotsanRuntimeCheck PROPERTIES FOLDER "Compiler-RT Misc") else() foreach(arch ${TSAN_SUPPORTED_ARCH}) if(arch STREQUAL "x86_64") @@ -234,6 +235,7 @@ if(COMPILER_RT_LIBCXX_PATH AND endforeach() add_custom_target(libcxx_tsan DEPENDS ${libcxx_tsan_deps}) + set_target_properties(libcxx_tsan PROPERTIES FOLDER "Compiler-RT Misc") endif() if(COMPILER_RT_INCLUDE_TESTS) diff --git a/compiler-rt/lib/tsan/dd/CMakeLists.txt b/compiler-rt/lib/tsan/dd/CMakeLists.txt index 363503016ed602c8917727764ce3bab2ff90a7b0..f2b8a6d173a42ae21f33dc3a707e3ff7d47710f6 100644 --- a/compiler-rt/lib/tsan/dd/CMakeLists.txt +++ b/compiler-rt/lib/tsan/dd/CMakeLists.txt @@ -17,6 +17,8 @@ append_list_if(COMPILER_RT_HAS_LIBRT rt DD_LINKLIBS) append_list_if(COMPILER_RT_HAS_LIBPTHREAD pthread DD_LINKLIBS) add_custom_target(dd) +set_target_properties(dd PROPERTIES FOLDER "Compiler-RT Misc") + # Deadlock detector is currently supported on 64-bit Linux only. if(CAN_TARGET_x86_64 AND UNIX AND NOT APPLE AND NOT ANDROID) set(arch "x86_64")