From 16841987064cb79d3556034384458a36c4ceecef Mon Sep 17 00:00:00 2001 From: David Partyka Date: Tue, 26 Oct 2010 10:03:21 -0400 Subject: [PATCH] Switch to CMAKE_PATH when doing PATH comparisons on Windows. Users PATH may contain elements that end with backslash. This will escape the semicolon when iterating resulting in mismatches. Fix indentation. Fix whitespace --- Modules/GetPrerequisites.cmake | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Modules/GetPrerequisites.cmake b/Modules/GetPrerequisites.cmake index e1dae46c2..40b682e22 100644 --- a/Modules/GetPrerequisites.cmake +++ b/Modules/GetPrerequisites.cmake @@ -587,11 +587,14 @@ function(get_prerequisites target prerequisites_var exclude_system recurse exepa # get_filename_component(gp_cmd_dir "${gp_cmd}" PATH) get_filename_component(gp_cmd_dlls_dir "${gp_cmd_dir}/../../Common7/IDE" ABSOLUTE) - file(TO_NATIVE_PATH "${gp_cmd_dlls_dir}" gp_cmd_dlls_dir) + # Use cmake paths as a user may have a PATH element ending with a backslash. + # This will escape the list delimiter and create havoc! + file(TO_CMAKE_PATH "${gp_cmd_dlls_dir}" gp_cmd_dlls_dir) if(EXISTS "${gp_cmd_dlls_dir}") # only add to the path if it is not already in the path set(gp_found_cmd_dlls_dir 0) - foreach(gp_env_path_element $ENV{PATH}) + file(TO_CMAKE_PATH "$ENV{PATH}" env_path) + foreach(gp_env_path_element ${env_path}) if("${gp_env_path_element}" STREQUAL "${gp_cmd_dlls_dir}") set(gp_found_cmd_dlls_dir 1) endif()