Add an install target for clang's API headers, which allows them to be
included in distributions. The install rules already existed, but they
lacked a component and a target, making them only accessible via a full
install. These headers are useful for writing clang-based tooling, for
example. They're the clang equivalent to the llvm-headers target and
complement the clang-libraries target.
Differential Revision: https://reviews.llvm.org/D58317
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@355853
91177308-0d34-0410-b5e6-
96231b3b80d8
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
install(DIRECTORY include/clang include/clang-c
DESTINATION include
+ COMPONENT clang-headers
FILES_MATCHING
PATTERN "*.def"
PATTERN "*.h"
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/clang
DESTINATION include
+ COMPONENT clang-headers
FILES_MATCHING
PATTERN "CMakeFiles" EXCLUDE
PATTERN "*.inc"
PATTERN "*.h"
)
+ # Installing the headers needs to depend on generating any public
+ # tablegen'd headers.
+ add_custom_target(clang-headers DEPENDS clang-tablegen-targets)
+ set_target_properties(clang-headers PROPERTIES FOLDER "Misc")
+ if(NOT LLVM_ENABLE_IDE)
+ add_llvm_install_targets(install-clang-headers
+ DEPENDS clang-headers
+ COMPONENT clang-headers)
+ endif()
+
install(PROGRAMS utils/bash-autocomplete.sh
DESTINATION share/clang
)
- In 8.0.0 and below, the install-clang-headers target would install clang's
resource directory headers. This installation is now performed by the
install-clang-resource-headers target. Users of the old install-clang-headers
- target should switch to the new install-clang-resource-headers target.
+ target should switch to the new install-clang-resource-headers target. The
+ install-clang-headers target now installs clang's API headers (corresponding
+ to its libraries), which is consistent with the install-llvm-headers target.
- ...