diff options
author | Brad King <brad.king@kitware.com> | 2006-02-10 00:03:27 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2006-02-10 00:03:27 (GMT) |
commit | db0681d2f6368fa703253f19ce1b00baad2c9757 (patch) | |
tree | f697dfd6623cc8a31bd1b1df0020cdf6615f760c | |
parent | 1b5e3f41369e8bf6a43c79eb62a4d636caab2b5a (diff) | |
download | CMake-db0681d2f6368fa703253f19ce1b00baad2c9757.zip CMake-db0681d2f6368fa703253f19ce1b00baad2c9757.tar.gz CMake-db0681d2f6368fa703253f19ce1b00baad2c9757.tar.bz2 |
ENH: Adding option to return empty arguments when expanding a list.
-rw-r--r-- | Source/cmSystemTools.cxx | 9 | ||||
-rw-r--r-- | Source/cmSystemTools.h | 3 |
2 files changed, 7 insertions, 5 deletions
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 52032f0..1bee080 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -973,10 +973,11 @@ void cmSystemTools::ExpandList(std::vector<std::string> const& arguments, } void cmSystemTools::ExpandListArgument(const std::string& arg, - std::vector<std::string>& newargs) + std::vector<std::string>& newargs, + bool emptyArgs) { // If argument is empty, it is an empty list. - if(arg.length() == 0) + if(arg.length() == 0 && !emptyArgs) { return; } @@ -1027,7 +1028,7 @@ void cmSystemTools::ExpandListArgument(const std::string& arg, // brackets. if(squareNesting == 0) { - if ( newArgVec.size() ) + if ( newArgVec.size() || emptyArgs ) { // Add the last argument if the string is not empty. newArgVec.push_back(0); @@ -1047,7 +1048,7 @@ void cmSystemTools::ExpandListArgument(const std::string& arg, } break; } } - if ( newArgVec.size() ) + if ( newArgVec.size() || emptyArgs ) { // Add the last argument if the string is not empty. newArgVec.push_back(0); diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h index 6c5be99..a07a7b8 100644 --- a/Source/cmSystemTools.h +++ b/Source/cmSystemTools.h @@ -39,7 +39,8 @@ public: static void ExpandList(std::vector<std::string> const& argsIn, std::vector<std::string>& argsOut); static void ExpandListArgument(const std::string& arg, - std::vector<std::string>& argsOut); + std::vector<std::string>& argsOut, + bool emptyArgs=false); /** * Look for and replace registry values in a string |