cmake: resolve symlinks in LLVMConfig.cmake
authorPeter Wu <peter@lekensteyn.nl>
Fri, 4 May 2018 13:43:06 +0000 (15:43 +0200)
committerMo Zhou <cdluminate@gmail.com>
Sat, 9 Mar 2019 06:10:15 +0000 (06:10 +0000)
Ensure that symlinks such as /usr/lib/llvm-X.Y/cmake (pointing to
lib/cmake/llvm) are resolved. This ensures that LLVM_INSTALL_PREFIX
becomes /usr/lib/llvm-X.Y instead of /usr.

Partially addresses PR37128

Gbp-Pq: Name 0001-llvm-cmake-resolve-symlinks-in-LLVMConfig.cmake.patch

cmake/modules/CMakeLists.txt

index 6074e83585947cb6e8ed18db1f6bfabef0e5530d..1cf4569b884f6c01a9f27818dfc82d215161e6a2 100644 (file)
@@ -76,10 +76,10 @@ file(COPY .
 # Generate LLVMConfig.cmake for the install tree.
 set(LLVM_CONFIG_CODE "
 # Compute the installation prefix from this LLVMConfig.cmake file location.
-get_filename_component(LLVM_INSTALL_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)")
+get_filename_component(LLVM_INSTALL_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" REALPATH)")
 # Construct the proper number of get_filename_component(... PATH)
 # calls to compute the installation prefix.
-string(REGEX REPLACE "/" ";" _count "${LLVM_INSTALL_PACKAGE_DIR}")
+string(REGEX REPLACE "/" ";" _count "prefix/${LLVM_INSTALL_PACKAGE_DIR}")
 foreach(p ${_count})
   set(LLVM_CONFIG_CODE "${LLVM_CONFIG_CODE}
 get_filename_component(LLVM_INSTALL_PREFIX \"\${LLVM_INSTALL_PREFIX}\" PATH)")