summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-07-19 16:58:49 (GMT)
committerKitware Robot <kwrobot@kitware.com>2021-07-19 16:59:01 (GMT)
commit4ff651eb52215ca0e1ffe5e5356b56b57913fee0 (patch)
tree93ec15f0f95d41a8122d56b9a85ffd6ff91f6fde /Source
parent095f49ec36b49a695344b2e7c8f610b1c326cdfb (diff)
parentaa874dc6090cf6b6c9621572419738d105ff4ba3 (diff)
downloadCMake-4ff651eb52215ca0e1ffe5e5356b56b57913fee0.zip
CMake-4ff651eb52215ca0e1ffe5e5356b56b57913fee0.tar.gz
CMake-4ff651eb52215ca0e1ffe5e5356b56b57913fee0.tar.bz2
Merge topic 'cmake-presets-no-binary-dir-no-s' into release-3.21
aa874dc609 CMakePresets.json: Fix expansion issue with empty binaryDir Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6358
Diffstat (limited to 'Source')
-rw-r--r--Source/cmCMakePresetsFile.cxx10
1 files changed, 6 insertions, 4 deletions
diff --git a/Source/cmCMakePresetsFile.cxx b/Source/cmCMakePresetsFile.cxx
index 2f9972c..fd578fa 100644
--- a/Source/cmCMakePresetsFile.cxx
+++ b/Source/cmCMakePresetsFile.cxx
@@ -197,11 +197,13 @@ bool ExpandMacros(const cmCMakePresetsFile& file,
std::string binaryDir = preset.BinaryDir;
CHECK_EXPAND(out, binaryDir, macroExpanders, file.GetVersion(preset))
- if (!cmSystemTools::FileIsFullPath(binaryDir)) {
- binaryDir = cmStrCat(file.SourceDir, '/', binaryDir);
+ if (!binaryDir.empty()) {
+ if (!cmSystemTools::FileIsFullPath(binaryDir)) {
+ binaryDir = cmStrCat(file.SourceDir, '/', binaryDir);
+ }
+ out->BinaryDir = cmSystemTools::CollapseFullPath(binaryDir);
+ cmSystemTools::ConvertToUnixSlashes(out->BinaryDir);
}
- out->BinaryDir = cmSystemTools::CollapseFullPath(binaryDir);
- cmSystemTools::ConvertToUnixSlashes(out->BinaryDir);
if (!preset.InstallDir.empty()) {
std::string installDir = preset.InstallDir;