summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-04-10 19:15:21 (GMT)
committerBrad King <brad.king@kitware.com>2020-04-15 12:34:49 (GMT)
commitd74e651b7834937a6761b880d4e713683f5a44e3 (patch)
treeafb3c0b0976c36b78ae756d5a9f4ffa3b11ec416 /Tests
parent031bfaa865956c101aff74d35573381ebe71f0a1 (diff)
downloadCMake-d74e651b7834937a6761b880d4e713683f5a44e3.zip
CMake-d74e651b7834937a6761b880d4e713683f5a44e3.tar.gz
CMake-d74e651b7834937a6761b880d4e713683f5a44e3.tar.bz2
Makefiles: Re-implement makefile target path escaping and quoting
Previously we used `cmSystemTools::ConvertToOutputPath` which internally used KWSys methods * SystemTools::ConvertToUnixOutputPath * SystemTools::ConvertToWindowsOutputPath These were written in very early days of CMake and have some limitations: * They do not encode all characters. E.g. '#' is left out. * They attempt to do some path cleanup and handle existing quotes. These days CMake has clean unquoted paths already. * They attempted to encode paths both for makefile targets and for shell command lines. The latter use has mostly been replaced. * Choosing between the two methods depends on a global variable! Several code paths in CMake have to copy the global generator's member ForceUnixPaths variable over to the cmSystemTools global. Re-implement the `ConvertToMakefilePath` method to drop use of those methods. Compute suitable makefile target path escaping and quoting via local logic. Add support for more characters like '#'. Fixes: #20555
Diffstat (limited to 'Tests')
0 files changed, 0 insertions, 0 deletions