From 3c815d6b5b376cf8aace6d0bbfbfd20c3fe2c8c9 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Fri, 4 May 2018 15:55:26 +0200 Subject: [PATCH] [PATCH] [clang] cmake: resolve symlinks in ClangConfig.cmake Ensure that symlinks such as /usr/lib/cmake/clang-X.Y (pointing to /usr/lib/llvm-X.Y/lib/cmake/llvm) are resolved. This ensures that CLANG_INSTALL_PREFIX ends up to be /usr/lib/llvm-X.Y instead of /usr. Partially addresses PR37128 Gbp-Pq: Name 0001-tools-clang-cmake-resolve-symlinks-in-ClangConfig.cmake.patch --- cmake/Modules/FindPrefixFromConfig.cmake | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cmake/Modules/FindPrefixFromConfig.cmake b/cmake/Modules/FindPrefixFromConfig.cmake index aa9fb0d034..954197e513 100644 --- a/cmake/Modules/FindPrefixFromConfig.cmake +++ b/cmake/Modules/FindPrefixFromConfig.cmake @@ -28,10 +28,13 @@ function(find_prefix_from_config out_var prefix_var path_to_leave) set(config_code "# Compute the installation prefix from this LLVMConfig.cmake file location." - "get_filename_component(${prefix_var} \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)") + "get_filename_component(${prefix_var} \"\${CMAKE_CURRENT_LIST_FILE}\" REALPATH)") + + # Construct the proper number of get_filename_component(... PATH) # calls to compute the installation prefix. - string(REGEX REPLACE "/" ";" _count "${path_to_leave}") + string(REGEX REPLACE "/" ";" _count "prefix/${path_to_leave}") + foreach(p ${_count}) list(APPEND config_code "get_filename_component(${prefix_var} \"\${${prefix_var}}\" PATH)") -- 2.30.2