[CMake] Install C++ ABI headers into the right location
This is a follow-up to r335809 and r337118. While libc++ headers are now installed into the right location in both standard as well as multiarch runtimes layout, turned out C++ ABI headers are still installed into the old location in the latter case. This change addresses that. Differential Revision: https://reviews.llvm.org/D49584 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@337630 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -32,14 +32,6 @@ macro(setup_abi_lib abidefines abilib abifiles abidirs)
|
|||||||
set(LIBCXX_CXX_ABI_LIBRARY ${abilib})
|
set(LIBCXX_CXX_ABI_LIBRARY ${abilib})
|
||||||
set(LIBCXX_ABILIB_FILES ${abifiles})
|
set(LIBCXX_ABILIB_FILES ${abifiles})
|
||||||
|
|
||||||
# The place in the build tree where we store out-of-source headers.
|
|
||||||
file(MAKE_DIRECTORY "${LIBCXX_BUILD_HEADERS_ROOT}")
|
|
||||||
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/include/c++/v1")
|
|
||||||
foreach(_d ${abidirs})
|
|
||||||
file(MAKE_DIRECTORY "${LIBCXX_BINARY_INCLUDE_DIR}/${_d}")
|
|
||||||
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/include/c++/v1/${_d}")
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
foreach(fpath ${LIBCXX_ABILIB_FILES})
|
foreach(fpath ${LIBCXX_ABILIB_FILES})
|
||||||
set(found FALSE)
|
set(found FALSE)
|
||||||
foreach(incpath ${LIBCXX_CXX_ABI_INCLUDE_PATHS})
|
foreach(incpath ${LIBCXX_CXX_ABI_INCLUDE_PATHS})
|
||||||
@@ -56,7 +48,7 @@ macro(setup_abi_lib abidefines abilib abifiles abidirs)
|
|||||||
COMMENT "Copying C++ ABI header ${fpath}...")
|
COMMENT "Copying C++ ABI header ${fpath}...")
|
||||||
list(APPEND abilib_headers "${dst}")
|
list(APPEND abilib_headers "${dst}")
|
||||||
|
|
||||||
set(dst "${CMAKE_BINARY_DIR}/include/c++/v1/${dstdir}/${fpath}")
|
set(dst "${LIBCXX_HEADER_DIR}/include/c++/v1/${dstdir}/${fpath}")
|
||||||
add_custom_command(OUTPUT ${dst}
|
add_custom_command(OUTPUT ${dst}
|
||||||
DEPENDS ${src}
|
DEPENDS ${src}
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
|
||||||
@@ -65,7 +57,7 @@ macro(setup_abi_lib abidefines abilib abifiles abidirs)
|
|||||||
|
|
||||||
if (LIBCXX_INSTALL_HEADERS)
|
if (LIBCXX_INSTALL_HEADERS)
|
||||||
install(FILES "${LIBCXX_BINARY_INCLUDE_DIR}/${fpath}"
|
install(FILES "${LIBCXX_BINARY_INCLUDE_DIR}/${fpath}"
|
||||||
DESTINATION ${LIBCXX_INSTALL_PATH}include/c++/v1/${dstdir}
|
DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1/${dstdir}
|
||||||
COMPONENT cxx-headers
|
COMPONENT cxx-headers
|
||||||
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user