diff options
-rw-r--r-- | Source/cmListFileCache.cxx | 13 | ||||
-rw-r--r-- | Source/cmListFileCache.h | 3 |
2 files changed, 16 insertions, 0 deletions
diff --git a/Source/cmListFileCache.cxx b/Source/cmListFileCache.cxx index d79afc6..d0495f7 100644 --- a/Source/cmListFileCache.cxx +++ b/Source/cmListFileCache.cxx @@ -479,3 +479,16 @@ std::ostream& operator<<(std::ostream& os, BT<std::string> const& s) { return os << s.Value; } + +std::vector<BT<std::string>> ExpandListWithBacktrace( + const char* list, cmListFileBacktrace const& bt) +{ + std::vector<BT<std::string>> result; + std::vector<std::string> tmp; + cmSystemTools::ExpandListArgument(list, tmp); + result.reserve(tmp.size()); + for (std::string& i : tmp) { + result.emplace_back(std::move(i), bt); + } + return result; +} diff --git a/Source/cmListFileCache.h b/Source/cmListFileCache.h index 9f16b16..7c2802e 100644 --- a/Source/cmListFileCache.h +++ b/Source/cmListFileCache.h @@ -198,6 +198,9 @@ public: std::ostream& operator<<(std::ostream& os, BT<std::string> const& s); +std::vector<BT<std::string>> ExpandListWithBacktrace( + const char* list, cmListFileBacktrace const& bt = cmListFileBacktrace()); + struct cmListFile { bool ParseFile(const char* path, cmMessenger* messenger, |