summaryrefslogtreecommitdiff
path: root/libcxxabi/include
diff options
context:
space:
mode:
authorPetr Hosek <phosek@google.com>2022-05-14 02:23:52 +0000
committerPetr Hosek <phosek@google.com>2022-05-14 03:49:09 +0000
commit6f5f847a36af2f2e9dfce4ed99f1a243161c7d5d (patch)
tree910757c0918d41d30dce46ef00da3ceee6a3ea85 /libcxxabi/include
parentacbad5086af3ab94a59d1428c4116a192c10fb49 (diff)
downloadllvm-6f5f847a36af2f2e9dfce4ed99f1a243161c7d5d.tar.gz
[libcxxabi] Copy headers into build location
Prior to D120727, the libcxx build was responsible for copying libcxxabi headers into the right location, both in the build and install trees, but now it's the responsibility of the libcxxabi build. While the build already did the right thing for the install tree, it wouldn't copy headers into the build tree, resulting in errors when trying to use the just built toolchain as is the case in the runtimes build when building compiler-rt runtimes. Differential Revision: https://reviews.llvm.org/D125597
Diffstat (limited to 'libcxxabi/include')
-rw-r--r--libcxxabi/include/CMakeLists.txt13
1 files changed, 13 insertions, 0 deletions
diff --git a/libcxxabi/include/CMakeLists.txt b/libcxxabi/include/CMakeLists.txt
index 0deb7b1eb9e7..5b1cc2545016 100644
--- a/libcxxabi/include/CMakeLists.txt
+++ b/libcxxabi/include/CMakeLists.txt
@@ -3,7 +3,20 @@ set(files
cxxabi.h
)
+foreach(f ${files})
+ set(src "${CMAKE_CURRENT_SOURCE_DIR}/${f}")
+ set(dst "${LIBCXXABI_GENERATED_INCLUDE_DIR}/${f}")
+ add_custom_command(OUTPUT ${dst}
+ DEPENDS ${src}
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
+ COMMENT "Copying CXXABI header ${f}")
+ list(APPEND _all_includes "${dst}")
+endforeach()
+
+add_custom_target(generate-cxxabi-headers ALL DEPENDS ${_all_includes})
+
add_library(cxxabi-headers INTERFACE)
+add_dependencies(cxxabi-headers generate-cxxabi-headers)
target_include_directories(cxxabi-headers INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}")
if (LIBCXXABI_INSTALL_HEADERS)