GetPrerequisites: Fix regression in gp_resolved_file_type

Since commit v3.6.0-rc1~287^2 (GetPrerequisites: Fix
gp_resolved_file_type on non-canonical paths, 2016-03-08) we
accidentally convert relative paths (e.g. system dll file names) to
absolute paths even when we do not know the base directory.  Fix this by
canonicalizing only paths that are already absolute.

Closes: #16240
This commit is contained in:
Brad King 2016-08-12 10:18:43 -04:00
parent f59513140b
commit a2d5c25a7a
1 changed files with 6 additions and 2 deletions

View File

@ -500,7 +500,9 @@ function(gp_resolved_file_type original_file file exepath dirs type_var)
if(NOT IS_ABSOLUTE "${original_file}") if(NOT IS_ABSOLUTE "${original_file}")
message(STATUS "warning: gp_resolved_file_type expects absolute full path for first arg original_file") message(STATUS "warning: gp_resolved_file_type expects absolute full path for first arg original_file")
endif() endif()
get_filename_component(original_file "${original_file}" ABSOLUTE) # canonicalize path if(IS_ABSOLUTE "${original_file}")
get_filename_component(original_file "${original_file}" ABSOLUTE) # canonicalize path
endif()
set(is_embedded 0) set(is_embedded 0)
set(is_local 0) set(is_local 0)
@ -516,7 +518,9 @@ function(gp_resolved_file_type original_file file exepath dirs type_var)
if(NOT IS_ABSOLUTE "${file}") if(NOT IS_ABSOLUTE "${file}")
gp_resolve_item("${original_file}" "${file}" "${exepath}" "${dirs}" resolved_file "${rpaths}") gp_resolve_item("${original_file}" "${file}" "${exepath}" "${dirs}" resolved_file "${rpaths}")
endif() endif()
get_filename_component(resolved_file "${resolved_file}" ABSOLUTE) # canonicalize path if(IS_ABSOLUTE "${resolved_file}")
get_filename_component(resolved_file "${resolved_file}" ABSOLUTE) # canonicalize path
endif()
string(TOLOWER "${original_file}" original_lower) string(TOLOWER "${original_file}" original_lower)
string(TOLOWER "${resolved_file}" lower) string(TOLOWER "${resolved_file}" lower)