diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a5d5f39d85a0..59a69b16e5a7e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,6 +12,8 @@ set(CMAKE_MODULE_PATH set(PACKAGE_VERSION "2.9") +set_property(GLOBAL PROPERTY USE_FOLDERS ON) + include(VersionFromVCS) option(LLVM_APPEND_VC_REV diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake index dfe67cded331a..2a0d2a6808b46 100755 --- a/cmake/modules/AddLLVM.cmake +++ b/cmake/modules/AddLLVM.cmake @@ -25,6 +25,7 @@ macro(add_llvm_library name) if( CURRENT_LLVM_TARGET ) add_dependencies(${name} ${CURRENT_LLVM_TARGET}) endif() + set_target_properties(${name} PROPERTIES FOLDER "Libraries") endmacro(add_llvm_library name) @@ -55,6 +56,8 @@ ${name} ignored.") LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) endif() + + set_target_properties(${name} PROPERTIES FOLDER "Loadable modules") endmacro(add_llvm_loadable_module name) @@ -95,6 +98,7 @@ macro(add_llvm_tool name) if( LLVM_BUILD_TOOLS ) install(TARGETS ${name} RUNTIME DESTINATION bin) endif() + set_target_properties(${name} PROPERTIES FOLDER "Tools") endmacro(add_llvm_tool name) @@ -107,9 +111,16 @@ macro(add_llvm_example name) if( LLVM_BUILD_EXAMPLES ) install(TARGETS ${name} RUNTIME DESTINATION examples) endif() + set_target_properties(${name} PROPERTIES FOLDER "Examples") endmacro(add_llvm_example name) +macro(add_llvm_utility name) + add_llvm_executable(${name} ${ARGN}) + set_target_properties(${name} PROPERTIES FOLDER "Utils") +endmacro(add_llvm_utility name) + + macro(add_llvm_target target_name) if( TABLEGEN_OUTPUT ) add_custom_target(${target_name}Table_gen @@ -120,6 +131,7 @@ macro(add_llvm_target target_name) add_llvm_library(LLVM${target_name} ${ARGN} ${TABLEGEN_OUTPUT}) if ( TABLEGEN_OUTPUT ) add_dependencies(LLVM${target_name} ${target_name}Table_gen) + set_target_properties(${target_name}Table_gen PROPERTIES FOLDER "Tablegenning") endif (TABLEGEN_OUTPUT) set( CURRENT_LLVM_TARGET LLVM${target_name} ) endmacro(add_llvm_target) diff --git a/include/llvm/CMakeLists.txt b/include/llvm/CMakeLists.txt index 5e4f40881d00e..0c3ca1cd0c5c5 100644 --- a/include/llvm/CMakeLists.txt +++ b/include/llvm/CMakeLists.txt @@ -4,6 +4,7 @@ tablegen(Intrinsics.gen -gen-intrinsic) add_custom_target(intrinsics_gen ALL DEPENDS ${llvm_builded_incs_dir}/Intrinsics.gen) +set_target_properties(intrinsics_gen PROPERTIES FOLDER "Tablegenning") set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} intrinsics_gen PARENT_SCOPE) @@ -16,4 +17,5 @@ if( MSVC_IDE OR XCODE ) # We need at least one source file: ${LLVM_MAIN_SRC_DIR}/lib/Transforms/Hello/Hello.cpp ${headers}) + set_target_properties(llvm_headers_do_not_build PROPERTIES FOLDER "Misc") endif() diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 302e141a3ed14..b696682c13fa0 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -82,6 +82,7 @@ if(PYTHONINTERP_FOUND) ${LIT_ARGS} ${CMAKE_CURRENT_BINARY_DIR} COMMENT "Running LLVM regression tests") + set_target_properties(check PROPERTIES FOLDER "Tests") add_custom_target(check.deps) add_dependencies(check check.deps) @@ -91,5 +92,6 @@ if(PYTHONINTERP_FOUND) llc lli llvm-ar llvm-as llvm-dis llvm-extract llvm-ld llvm-link llvm-mc llvm-nm macho-dump opt FileCheck count not) + set_target_properties(check.deps PROPERTIES FOLDER "Tests") endif() diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt index 5f09fa2483571..da4a6524bd978 100644 --- a/unittests/CMakeLists.txt +++ b/unittests/CMakeLists.txt @@ -12,9 +12,11 @@ function(add_llvm_unittest test_dirname) endif() add_llvm_executable(${test_name}Tests ${ARGN}) add_dependencies(UnitTests ${test_name}Tests) + set_target_properties(${test_name}Tests PROPERTIES FOLDER "Tests") endfunction() add_custom_target(UnitTests) +set_target_properties(UnitTests PROPERTIES FOLDER "Tests") include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include) add_definitions(-DGTEST_HAS_RTTI=0) diff --git a/utils/FileCheck/CMakeLists.txt b/utils/FileCheck/CMakeLists.txt index 54db453e70e8f..fa56f92a8f287 100644 --- a/utils/FileCheck/CMakeLists.txt +++ b/utils/FileCheck/CMakeLists.txt @@ -1,4 +1,4 @@ -add_executable(FileCheck +add_llvm_utility(FileCheck FileCheck.cpp ) diff --git a/utils/FileUpdate/CMakeLists.txt b/utils/FileUpdate/CMakeLists.txt index 5dda49e0e4c58..655aaec3bc2a1 100644 --- a/utils/FileUpdate/CMakeLists.txt +++ b/utils/FileUpdate/CMakeLists.txt @@ -1,4 +1,4 @@ -add_executable(FileUpdate +add_llvm_utility(FileUpdate FileUpdate.cpp ) diff --git a/utils/KillTheDoctor/CMakeLists.txt b/utils/KillTheDoctor/CMakeLists.txt index 99c671e74af90..37c2b7ceb467a 100644 --- a/utils/KillTheDoctor/CMakeLists.txt +++ b/utils/KillTheDoctor/CMakeLists.txt @@ -1,4 +1,4 @@ -add_executable(KillTheDoctor +add_llvm_utility(KillTheDoctor KillTheDoctor.cpp ) diff --git a/utils/TableGen/CMakeLists.txt b/utils/TableGen/CMakeLists.txt index e24314c3e0eca..514b1912992a7 100644 --- a/utils/TableGen/CMakeLists.txt +++ b/utils/TableGen/CMakeLists.txt @@ -3,7 +3,7 @@ set(LLVM_REQUIRES_RTTI 1) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_TOOLS_BINARY_DIR}) -add_executable(tblgen +add_llvm_utility(tblgen ARMDecoderEmitter.cpp AsmMatcherEmitter.cpp AsmWriterEmitter.cpp diff --git a/utils/count/CMakeLists.txt b/utils/count/CMakeLists.txt index e124f61d2409f..4e0d371334e47 100644 --- a/utils/count/CMakeLists.txt +++ b/utils/count/CMakeLists.txt @@ -1,3 +1,3 @@ -add_executable(count +add_llvm_utility(count count.c ) diff --git a/utils/not/CMakeLists.txt b/utils/not/CMakeLists.txt index 155d2e3ae7e4f..f4c02290d7d1d 100644 --- a/utils/not/CMakeLists.txt +++ b/utils/not/CMakeLists.txt @@ -1,4 +1,4 @@ -add_executable(not +add_llvm_utility(not not.cpp )