From a3388e5f9e1f60a2d82b0cf3121e1dacdfd766b3 Mon Sep 17 00:00:00 2001 From: Stefan Granitz Date: Tue, 28 May 2019 09:29:05 +0000 Subject: [PATCH] [CMake] Folder structure for generated Xcode project to cover more targets llvm-svn: 361799 --- lldb/CMakeLists.txt | 2 ++ lldb/cmake/modules/AddLLDB.cmake | 6 +++++- lldb/cmake/modules/LLDBConfig.cmake | 2 +- lldb/cmake/modules/LLDBStandalone.cmake | 8 ++++++++ lldb/lit/CMakeLists.txt | 2 +- lldb/source/API/CMakeLists.txt | 1 + lldb/test/CMakeLists.txt | 4 ++-- lldb/tools/debugserver/source/CMakeLists.txt | 1 + lldb/tools/debugserver/source/MacOSX/CMakeLists.txt | 2 ++ .../debugserver/source/MacOSX/DarwinLog/CMakeLists.txt | 2 ++ lldb/tools/driver/CMakeLists.txt | 2 ++ lldb/unittests/CMakeLists.txt | 2 +- lldb/unittests/tools/lldb-mi/utils/CMakeLists.txt | 1 + lldb/unittests/tools/lldb-server/CMakeLists.txt | 1 + lldb/utils/lit-cpuid/CMakeLists.txt | 1 + lldb/utils/lldb-dotest/CMakeLists.txt | 1 + 16 files changed, 32 insertions(+), 6 deletions(-) diff --git a/lldb/CMakeLists.txt b/lldb/CMakeLists.txt index dc7e1a0ae534..afcf6bb5fb2b 100644 --- a/lldb/CMakeLists.txt +++ b/lldb/CMakeLists.txt @@ -153,6 +153,7 @@ if(LLDB_INCLUDE_TESTS) add_custom_target(lldb-test-deps) add_dependencies(lldb-test-deps ${LLDB_TEST_DEPS}) + set_target_properties(lldb-test-deps PROPERTIES FOLDER "lldb misc") add_subdirectory(test) add_subdirectory(unittests) @@ -193,6 +194,7 @@ if (NOT LLDB_DISABLE_PYTHON) set(readline_dep readline) endif() add_dependencies(finish_swig swig_wrapper liblldb lldb-argdumper ${readline_dep}) + set_target_properties(finish_swig swig_wrapper PROPERTIES FOLDER "lldb misc") # Ensure we do the python post-build step when building lldb. add_dependencies(lldb finish_swig) diff --git a/lldb/cmake/modules/AddLLDB.cmake b/lldb/cmake/modules/AddLLDB.cmake index 3e82200f2065..e35fc9e9be58 100644 --- a/lldb/cmake/modules/AddLLDB.cmake +++ b/lldb/cmake/modules/AddLLDB.cmake @@ -100,7 +100,11 @@ function(add_lldb_library name) # Add in any extra C++ compilation flags for this library. target_compile_options(${name} PRIVATE ${PARAM_EXTRA_CXXFLAGS}) - set_target_properties(${name} PROPERTIES FOLDER "lldb libraries") + if(PARAM_PLUGIN) + set_target_properties(${name} PROPERTIES FOLDER "lldb plugins") + else() + set_target_properties(${name} PROPERTIES FOLDER "lldb libraries") + endif() endfunction(add_lldb_library) function(add_lldb_executable name) diff --git a/lldb/cmake/modules/LLDBConfig.cmake b/lldb/cmake/modules/LLDBConfig.cmake index 6c5f0366d0d3..23182fd154f5 100644 --- a/lldb/cmake/modules/LLDBConfig.cmake +++ b/lldb/cmake/modules/LLDBConfig.cmake @@ -364,7 +364,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) ) add_custom_target(lldb-headers) - set_target_properties(lldb-headers PROPERTIES FOLDER "Misc") + set_target_properties(lldb-headers PROPERTIES FOLDER "lldb misc") if (NOT CMAKE_CONFIGURATION_TYPES) add_llvm_install_targets(install-lldb-headers diff --git a/lldb/cmake/modules/LLDBStandalone.cmake b/lldb/cmake/modules/LLDBStandalone.cmake index 6accd66c43b9..604544a01ee6 100644 --- a/lldb/cmake/modules/LLDBStandalone.cmake +++ b/lldb/cmake/modules/LLDBStandalone.cmake @@ -88,6 +88,14 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) set(PACKAGE_VERSION "${LLVM_PACKAGE_VERSION}") set(LLVM_INCLUDE_TESTS ON CACHE INTERNAL "") + option(LLVM_USE_FOLDERS "Enable solution folders in Visual Studio. Disable for Express versions." ON) + if(LLVM_USE_FOLDERS) + set_property(GLOBAL PROPERTY USE_FOLDERS ON) + endif() + + set_target_properties(clang-tablegen-targets PROPERTIES FOLDER "lldb misc") + set_target_properties(intrinsics_gen PROPERTIES FOLDER "lldb misc") + set(CMAKE_INCLUDE_CURRENT_DIR ON) include_directories( "${CMAKE_BINARY_DIR}/include" diff --git a/lldb/lit/CMakeLists.txt b/lldb/lit/CMakeLists.txt index 8e8d173d827b..f7bb423b60fb 100644 --- a/lldb/lit/CMakeLists.txt +++ b/lldb/lit/CMakeLists.txt @@ -68,7 +68,7 @@ add_lit_testsuite(check-lldb-lit "Running lldb lit test suite" DEPENDS ${LLDB_TEST_DEPS} ) -set_target_properties(check-lldb-lit PROPERTIES FOLDER "LLDB tests") +set_target_properties(check-lldb-lit PROPERTIES FOLDER "lldb tests") # If we're building with an in-tree clang, then list clang as a dependency # to run tests. diff --git a/lldb/source/API/CMakeLists.txt b/lldb/source/API/CMakeLists.txt index bb17f76d7fa1..8d2b7f06bef0 100644 --- a/lldb/source/API/CMakeLists.txt +++ b/lldb/source/API/CMakeLists.txt @@ -144,6 +144,7 @@ if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows") MESSAGE("-- Symbols (liblldb): exporting all symbols from the lldb and lldb_private namespaces") add_llvm_symbol_exports(liblldb ${CMAKE_CURRENT_SOURCE_DIR}/liblldb-private.exports) endif() + set_target_properties(liblldb_exports PROPERTIES FOLDER "lldb misc") endif() if ( CMAKE_SYSTEM_NAME MATCHES "Windows" ) diff --git a/lldb/test/CMakeLists.txt b/lldb/test/CMakeLists.txt index ea9ba2e80089..037222e04477 100644 --- a/lldb/test/CMakeLists.txt +++ b/lldb/test/CMakeLists.txt @@ -110,13 +110,13 @@ add_python_test_target(check-lldb-single "--no-multiprocess;${LLDB_DOTEST_ARGS}" "Testing LLDB with args: ${LLDB_DOTEST_ARGS}" ) +set_target_properties(check-lldb-single PROPERTIES FOLDER "lldb misc") # If tests crash cause LLDB to crash, or things are otherwise unstable, or if machine-parsable # output is desired (i.e. in continuous integration contexts) check-lldb-single is a better target. add_custom_target(check-lldb) - -# Make check-lldb depend on all test dependencies. add_dependencies(check-lldb lldb-test-deps) +set_target_properties(check-lldb PROPERTIES FOLDER "lldb misc") # If we're building with an in-tree clang, then list clang as a dependency # to run tests. diff --git a/lldb/tools/debugserver/source/CMakeLists.txt b/lldb/tools/debugserver/source/CMakeLists.txt index ad7a3af915ce..2b8e737d536b 100644 --- a/lldb/tools/debugserver/source/CMakeLists.txt +++ b/lldb/tools/debugserver/source/CMakeLists.txt @@ -236,6 +236,7 @@ if(build_and_sign_debugserver) ${DEBUGSERVER_VERS_GENERATED_FILE}) add_library(lldbDebugserverCommon ${lldbDebugserverCommonSources}) + set_target_properties(lldbDebugserverCommon PROPERTIES FOLDER "lldb libraries/debugserver") target_link_libraries(lldbDebugserverCommon INTERFACE ${COCOA_LIBRARY} diff --git a/lldb/tools/debugserver/source/MacOSX/CMakeLists.txt b/lldb/tools/debugserver/source/MacOSX/CMakeLists.txt index 28877d122d94..7ad4a06a4d36 100644 --- a/lldb/tools/debugserver/source/MacOSX/CMakeLists.txt +++ b/lldb/tools/debugserver/source/MacOSX/CMakeLists.txt @@ -21,3 +21,5 @@ include_directories(${LLDB_SOURCE_DIR}/tools/debugserver/source) add_library(lldbDebugserverArchSupport ${SOURCES} ) + +set_target_properties(lldbDebugserverArchSupport PROPERTIES FOLDER "lldb libraries/debugserver") diff --git a/lldb/tools/debugserver/source/MacOSX/DarwinLog/CMakeLists.txt b/lldb/tools/debugserver/source/MacOSX/DarwinLog/CMakeLists.txt index dffa357f1e68..71abb36358aa 100644 --- a/lldb/tools/debugserver/source/MacOSX/DarwinLog/CMakeLists.txt +++ b/lldb/tools/debugserver/source/MacOSX/DarwinLog/CMakeLists.txt @@ -13,3 +13,5 @@ add_library(lldbDebugserverDarwin_DarwinLog LogMessage.cpp LogMessageOsLog.cpp ) + +set_target_properties(lldbDebugserverDarwin_DarwinLog PROPERTIES FOLDER "lldb libraries/debugserver") diff --git a/lldb/tools/driver/CMakeLists.txt b/lldb/tools/driver/CMakeLists.txt index e6740d8dd534..1f8c469e08c8 100644 --- a/lldb/tools/driver/CMakeLists.txt +++ b/lldb/tools/driver/CMakeLists.txt @@ -28,6 +28,8 @@ add_dependencies(lldb ${tablegen_deps} ) +set_target_properties(LLDBOptionsTableGen PROPERTIES FOLDER "lldb misc") + if(LLDB_BUILD_FRAMEWORK) lldb_setup_framework_rpaths_in_tool(lldb) endif() diff --git a/lldb/unittests/CMakeLists.txt b/lldb/unittests/CMakeLists.txt index 4e4eee6fccea..311f47b1b0ec 100644 --- a/lldb/unittests/CMakeLists.txt +++ b/lldb/unittests/CMakeLists.txt @@ -1,5 +1,5 @@ add_custom_target(LLDBUnitTests) -set_target_properties(LLDBUnitTests PROPERTIES FOLDER "LLDB tests") +set_target_properties(LLDBUnitTests PROPERTIES FOLDER "lldb tests") include_directories(${LLDB_SOURCE_ROOT}) include_directories(${LLDB_PROJECT_ROOT}/unittests) diff --git a/lldb/unittests/tools/lldb-mi/utils/CMakeLists.txt b/lldb/unittests/tools/lldb-mi/utils/CMakeLists.txt index d6fb56abe586..909c005dcab7 100644 --- a/lldb/unittests/tools/lldb-mi/utils/CMakeLists.txt +++ b/lldb/unittests/tools/lldb-mi/utils/CMakeLists.txt @@ -10,3 +10,4 @@ add_lldb_unittest(LLDBMiUtilTests ) target_sources(LLDBMiUtilTests PRIVATE $) +set_target_properties(lldb-mi-utils PROPERTIES FOLDER "lldb libraries") diff --git a/lldb/unittests/tools/lldb-server/CMakeLists.txt b/lldb/unittests/tools/lldb-server/CMakeLists.txt index 60616c93153f..3bae69bfa4a1 100644 --- a/lldb/unittests/tools/lldb-server/CMakeLists.txt +++ b/lldb/unittests/tools/lldb-server/CMakeLists.txt @@ -7,6 +7,7 @@ function(add_lldb_test_executable test_name) set_output_directory(${test_name} BINARY_DIR ${outdir} LIBRARY_DIR ${outdir}) list(APPEND ALL_LLDB_TEST_EXECUTABLES ${test_name}) set(ALL_LLDB_TEST_EXECUTABLES ${ALL_LLDB_TEST_EXECUTABLES} PARENT_SCOPE) + set_target_properties(${test_name} PROPERTIES FOLDER "lldb tests") endfunction() add_lldb_test_executable(thread_inferior inferior/thread_inferior.cpp) diff --git a/lldb/utils/lit-cpuid/CMakeLists.txt b/lldb/utils/lit-cpuid/CMakeLists.txt index b3af817f3e31..bc9d31309e56 100644 --- a/lldb/utils/lit-cpuid/CMakeLists.txt +++ b/lldb/utils/lit-cpuid/CMakeLists.txt @@ -3,3 +3,4 @@ add_llvm_utility(lit-cpuid ) target_link_libraries(lit-cpuid PRIVATE LLVMSupport) +set_target_properties(lit-cpuid PROPERTIES FOLDER "lldb utils") diff --git a/lldb/utils/lldb-dotest/CMakeLists.txt b/lldb/utils/lldb-dotest/CMakeLists.txt index f1d85a4a6c81..d36d1a7e93de 100644 --- a/lldb/utils/lldb-dotest/CMakeLists.txt +++ b/lldb/utils/lldb-dotest/CMakeLists.txt @@ -1,6 +1,7 @@ # Make lldb-dotest a custom target. add_custom_target(lldb-dotest) add_dependencies(lldb-dotest ${LLDB_TEST_DEPS}) +set_target_properties(lldb-dotest PROPERTIES FOLDER "lldb utils") get_property(LLDB_DOTEST_ARGS GLOBAL PROPERTY LLDB_DOTEST_ARGS_PROPERTY)