Put targets on folders, if the IDE supports the feature.

Requires CMake 2.8.3 or newer.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126094 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9325360..e26326e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -148,6 +148,7 @@
   list( GET CTG_DEFAULT_ARGS 0 output_file )
   if( CTG_TARGET )
     add_custom_target( ${CTG_TARGET} DEPENDS ${output_file} ${CTG_DEPENDS} )
+    set_target_properties( ${CTG_TARGET} PROPERTIES FOLDER "Clang tablegenning")
   endif()
 endfunction(clang_tablegen)
 
@@ -205,10 +206,12 @@
   install(TARGETS ${name}
     LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
     ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
+  set_target_properties(${name} PROPERTIES FOLDER "Clang libraries")
 endmacro(add_clang_library)
 
 macro(add_clang_executable name)
   add_llvm_executable( ${name} ${ARGN} )
+  set_target_properties(${name} PROPERTIES FOLDER "Clang executables")
 endmacro(add_clang_executable)
 
 include_directories(
diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt
index 0d739dc..1e9eacc 100644
--- a/lib/Headers/CMakeLists.txt
+++ b/lib/Headers/CMakeLists.txt
@@ -67,6 +67,7 @@
 endif ()
 
 add_custom_target(clang-headers ALL DEPENDS ${out_files})
+set_target_properties(clang-headers PROPERTIES FOLDER "Misc")
 
 install(FILES ${files} ${output_dir}/arm_neon.h
   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index a32b994..0a05447 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -69,6 +69,7 @@
   separate_arguments(LIT_ARGS)
 
   add_custom_target(clang-test.deps)
+  set_target_properties(clang-test.deps PROPERTIES FOLDER "Clang tests")
 
   foreach(testdir ${CLANG_TEST_DIRECTORIES})
     add_custom_target(clang-test-${testdir}
@@ -80,6 +81,7 @@
                   ${CMAKE_CURRENT_BINARY_DIR}/${testdir}
                   DEPENDS clang c-index-test FileCheck not count
                   COMMENT "Running Clang regression tests in ${testdir}")
+    set_target_properties(clang-test-${testdir} PROPERTIES FOLDER "Clang tests")
   endforeach()
 
   add_custom_target(clang-test
@@ -92,6 +94,7 @@
                 ${LIT_ARGS}
                 ${CMAKE_CURRENT_BINARY_DIR}
                 COMMENT "Running Clang regression tests")
+  set_target_properties(clang-test PROPERTIES FOLDER "Clang tests")
 
   add_custom_target(clang-c++tests
     COMMAND ${PYTHON_EXECUTABLE}
@@ -102,6 +105,7 @@
                 ${CMAKE_CURRENT_SOURCE_DIR}/../utils/C++Tests
                 DEPENDS clang c-index-test FileCheck not count
                 COMMENT "Running Clang regression tests")
+  set_target_properties(clang-c++tests PROPERTIES FOLDER "Clang tests")
 
   if( NOT CLANG_BUILT_STANDALONE )
      add_custom_target(check-all
@@ -119,7 +123,7 @@
                      llvm-dis opt
                      FileCheck count not
                      )
-
+   set_target_properties(check-all PROPERTIES FOLDER "Clang tests")
  endif()
 
   add_dependencies(clang-test clang-test.deps)
diff --git a/tools/driver/CMakeLists.txt b/tools/driver/CMakeLists.txt
index 6dc47d6..5694d3f 100644
--- a/tools/driver/CMakeLists.txt
+++ b/tools/driver/CMakeLists.txt
@@ -46,6 +46,7 @@
     "${LLVM_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/clang${CMAKE_EXECUTABLE_SUFFIX}"
     "${clang_pp}"
   DEPENDS clang)
+set_target_properties(clang++ PROPERTIES FOLDER "Clang executables")
 set_property(DIRECTORY APPEND
   PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${clang_pp})
 
diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt
index d762aaf..112d6a0 100644
--- a/unittests/CMakeLists.txt
+++ b/unittests/CMakeLists.txt
@@ -28,9 +28,11 @@
   endif()
   add_clang_executable(${test_name}Tests ${CLANG_UNITTEST_DEFAULT_ARGS})
   add_dependencies(ClangUnitTests ${test_name}Tests)
+  set_target_properties(${test_name}Tests PROPERTIES FOLDER "Clang tests")
 endfunction()
 
 add_custom_target(ClangUnitTests)
+set_target_properties(ClangUnitTests PROPERTIES FOLDER "Clang tests")
 
 include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include)
 add_definitions(-DGTEST_HAS_RTTI=0)