[PATCH] D58269: [clang] Add build and install targets for clang libraries
This revision was automatically updated to reflect the committed changes. Closed by commit rC354141: [clang] Add build and install targets for clang libraries (authored by smeenai, committed by ). Changed prior to commit: https://reviews.llvm.org/D58269?vs=186957=187019#toc Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D58269/new/ https://reviews.llvm.org/D58269 Files: CMakeLists.txt cmake/modules/AddClang.cmake Index: cmake/modules/AddClang.cmake === --- cmake/modules/AddClang.cmake +++ cmake/modules/AddClang.cmake @@ -108,6 +108,8 @@ DEPENDS ${name} COMPONENT ${name}) endif() + + set_property(GLOBAL APPEND PROPERTY CLANG_LIBS ${name}) endif() set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${name}) else() Index: CMakeLists.txt === --- CMakeLists.txt +++ CMakeLists.txt @@ -543,6 +543,27 @@ add_subdirectory(docs) endif() +# Custom target to install all clang libraries. +add_custom_target(clang-libraries) +set_target_properties(clang-libraries PROPERTIES FOLDER "Misc") + +if(NOT CMAKE_CONFIGURATION_TYPES) + add_llvm_install_targets(install-clang-libraries + DEPENDS clang-libraries + COMPONENT clang-libraries) +endif() + +get_property(CLANG_LIBS GLOBAL PROPERTY CLANG_LIBS) +if(CLANG_LIBS) + list(REMOVE_DUPLICATES CLANG_LIBS) + foreach(lib ${CLANG_LIBS}) +add_dependencies(clang-libraries ${lib}) +if(NOT CMAKE_CONFIGURATION_TYPES) + add_dependencies(install-clang-libraries install-${lib}) +endif() + endforeach() +endif() + add_subdirectory(cmake/modules) if(CLANG_STAGE) Index: cmake/modules/AddClang.cmake === --- cmake/modules/AddClang.cmake +++ cmake/modules/AddClang.cmake @@ -108,6 +108,8 @@ DEPENDS ${name} COMPONENT ${name}) endif() + + set_property(GLOBAL APPEND PROPERTY CLANG_LIBS ${name}) endif() set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${name}) else() Index: CMakeLists.txt === --- CMakeLists.txt +++ CMakeLists.txt @@ -543,6 +543,27 @@ add_subdirectory(docs) endif() +# Custom target to install all clang libraries. +add_custom_target(clang-libraries) +set_target_properties(clang-libraries PROPERTIES FOLDER "Misc") + +if(NOT CMAKE_CONFIGURATION_TYPES) + add_llvm_install_targets(install-clang-libraries + DEPENDS clang-libraries + COMPONENT clang-libraries) +endif() + +get_property(CLANG_LIBS GLOBAL PROPERTY CLANG_LIBS) +if(CLANG_LIBS) + list(REMOVE_DUPLICATES CLANG_LIBS) + foreach(lib ${CLANG_LIBS}) +add_dependencies(clang-libraries ${lib}) +if(NOT CMAKE_CONFIGURATION_TYPES) + add_dependencies(install-clang-libraries install-${lib}) +endif() + endforeach() +endif() + add_subdirectory(cmake/modules) if(CLANG_STAGE) ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D58269: [clang] Add build and install targets for clang libraries
phosek accepted this revision. phosek added a comment. This revision is now accepted and ready to land. LGTM Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D58269/new/ https://reviews.llvm.org/D58269 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D58269: [clang] Add build and install targets for clang libraries
smeenai added a comment. A couple of things I noticed while writing this patch: - clang guards its install target creation with `CMAKE_CONFIGURATION_TYPES`, whereas LLVM uses `LLVM_ENABLE_IDE`. Should clang be switched over to be consistent with LLVM? - I realize we create the `install-clang-libraries-stripped` target (courtesy of `add_llvm_install_targets`), but don't actually add any dependencies to it, so it's a no-op. `llvm-libraries` has this problem too. I was thinking of just making `install-clang-libraries-stripped` synonymous with `install-clang-libraries`, because a lot of these libraries will be static, and stripping them makes them unusable since it removes their symbol tables. The target name will be a lie, but the behavior seems more useful. What do you think? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D58269/new/ https://reviews.llvm.org/D58269 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D58269: [clang] Add build and install targets for clang libraries
smeenai updated this revision to Diff 186957. smeenai added a comment. Fix condition Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D58269/new/ https://reviews.llvm.org/D58269 Files: clang/CMakeLists.txt clang/cmake/modules/AddClang.cmake Index: clang/cmake/modules/AddClang.cmake === --- clang/cmake/modules/AddClang.cmake +++ clang/cmake/modules/AddClang.cmake @@ -108,6 +108,8 @@ DEPENDS ${name} COMPONENT ${name}) endif() + + set_property(GLOBAL APPEND PROPERTY CLANG_LIBS ${name}) endif() set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${name}) else() Index: clang/CMakeLists.txt === --- clang/CMakeLists.txt +++ clang/CMakeLists.txt @@ -543,6 +543,27 @@ add_subdirectory(docs) endif() +# Custom target to install all clang libraries. +add_custom_target(clang-libraries) +set_target_properties(clang-libraries PROPERTIES FOLDER "Misc") + +if(NOT CMAKE_CONFIGURATION_TYPES) + add_llvm_install_targets(install-clang-libraries + DEPENDS clang-libraries + COMPONENT clang-libraries) +endif() + +get_property(CLANG_LIBS GLOBAL PROPERTY CLANG_LIBS) +if(CLANG_LIBS) + list(REMOVE_DUPLICATES CLANG_LIBS) + foreach(lib ${CLANG_LIBS}) +add_dependencies(clang-libraries ${lib}) +if(NOT CMAKE_CONFIGURATION_TYPES) + add_dependencies(install-clang-libraries install-${lib}) +endif() + endforeach() +endif() + add_subdirectory(cmake/modules) if(CLANG_STAGE) Index: clang/cmake/modules/AddClang.cmake === --- clang/cmake/modules/AddClang.cmake +++ clang/cmake/modules/AddClang.cmake @@ -108,6 +108,8 @@ DEPENDS ${name} COMPONENT ${name}) endif() + + set_property(GLOBAL APPEND PROPERTY CLANG_LIBS ${name}) endif() set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${name}) else() Index: clang/CMakeLists.txt === --- clang/CMakeLists.txt +++ clang/CMakeLists.txt @@ -543,6 +543,27 @@ add_subdirectory(docs) endif() +# Custom target to install all clang libraries. +add_custom_target(clang-libraries) +set_target_properties(clang-libraries PROPERTIES FOLDER "Misc") + +if(NOT CMAKE_CONFIGURATION_TYPES) + add_llvm_install_targets(install-clang-libraries + DEPENDS clang-libraries + COMPONENT clang-libraries) +endif() + +get_property(CLANG_LIBS GLOBAL PROPERTY CLANG_LIBS) +if(CLANG_LIBS) + list(REMOVE_DUPLICATES CLANG_LIBS) + foreach(lib ${CLANG_LIBS}) +add_dependencies(clang-libraries ${lib}) +if(NOT CMAKE_CONFIGURATION_TYPES) + add_dependencies(install-clang-libraries install-${lib}) +endif() + endforeach() +endif() + add_subdirectory(cmake/modules) if(CLANG_STAGE) ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D58269: [clang] Add build and install targets for clang libraries
smeenai created this revision. smeenai added reviewers: beanz, phosek. Herald added a subscriber: mgorny. Herald added a project: clang. This is modeled after the existing llvm-libraries target. It's a convenient way to include all clang libraries in a distribution. This differs slightly from the llvm-libraries target in that it adds any library added via add_clang_library, whereas llvm-libraries only includes targets added via add_llvm_library that didn't use the MODULE or BUILDTREE_ONLY arguments. add_clang_library doesn't appear to have any equivalents of those arguments, so the conditions don't apply. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D58269 Files: clang/CMakeLists.txt clang/cmake/modules/AddClang.cmake Index: clang/cmake/modules/AddClang.cmake === --- clang/cmake/modules/AddClang.cmake +++ clang/cmake/modules/AddClang.cmake @@ -108,6 +108,8 @@ DEPENDS ${name} COMPONENT ${name}) endif() + + set_property(GLOBAL APPEND PROPERTY CLANG_LIBS ${name}) endif() set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${name}) else() Index: clang/CMakeLists.txt === --- clang/CMakeLists.txt +++ clang/CMakeLists.txt @@ -543,6 +543,27 @@ add_subdirectory(docs) endif() +# Custom target to install all clang libraries. +add_custom_target(clang-libraries) +set_target_properties(clang-libraries PROPERTIES FOLDER "Misc") + +if(NOT LLVM_ENABLE_IDE) + add_llvm_install_targets(install-clang-libraries + DEPENDS clang-libraries + COMPONENT clang-libraries) +endif() + +get_property(CLANG_LIBS GLOBAL PROPERTY CLANG_LIBS) +if(CLANG_LIBS) + list(REMOVE_DUPLICATES CLANG_LIBS) + foreach(lib ${CLANG_LIBS}) +add_dependencies(clang-libraries ${lib}) +if(NOT CMAKE_CONFIGURATION_TYPES) + add_dependencies(install-clang-libraries install-${lib}) +endif() + endforeach() +endif() + add_subdirectory(cmake/modules) if(CLANG_STAGE) Index: clang/cmake/modules/AddClang.cmake === --- clang/cmake/modules/AddClang.cmake +++ clang/cmake/modules/AddClang.cmake @@ -108,6 +108,8 @@ DEPENDS ${name} COMPONENT ${name}) endif() + + set_property(GLOBAL APPEND PROPERTY CLANG_LIBS ${name}) endif() set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${name}) else() Index: clang/CMakeLists.txt === --- clang/CMakeLists.txt +++ clang/CMakeLists.txt @@ -543,6 +543,27 @@ add_subdirectory(docs) endif() +# Custom target to install all clang libraries. +add_custom_target(clang-libraries) +set_target_properties(clang-libraries PROPERTIES FOLDER "Misc") + +if(NOT LLVM_ENABLE_IDE) + add_llvm_install_targets(install-clang-libraries + DEPENDS clang-libraries + COMPONENT clang-libraries) +endif() + +get_property(CLANG_LIBS GLOBAL PROPERTY CLANG_LIBS) +if(CLANG_LIBS) + list(REMOVE_DUPLICATES CLANG_LIBS) + foreach(lib ${CLANG_LIBS}) +add_dependencies(clang-libraries ${lib}) +if(NOT CMAKE_CONFIGURATION_TYPES) + add_dependencies(install-clang-libraries install-${lib}) +endif() + endforeach() +endif() + add_subdirectory(cmake/modules) if(CLANG_STAGE) ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits