mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
CMake code rely on cmList class for CMake lists management (part. 1)
This commit is contained in:
@@ -5,12 +5,11 @@
|
||||
#include <cstddef> // IWYU pragma: keep
|
||||
#include <sstream>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include "cmCPackGenerator.h"
|
||||
#include "cmCPackIFWGenerator.h"
|
||||
#include "cmCPackLog.h" // IWYU pragma: keep
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmList.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmTimestamp.h"
|
||||
#include "cmVersionConfig.h"
|
||||
@@ -76,12 +75,12 @@ bool cmCPackIFWCommon::IsVersionEqual(const char* version) const
|
||||
void cmCPackIFWCommon::ExpandListArgument(
|
||||
const std::string& arg, std::map<std::string, std::string>& argsOut)
|
||||
{
|
||||
std::vector<std::string> args = cmExpandedList(arg, false);
|
||||
cmList args{ arg };
|
||||
if (args.empty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
std::size_t i = 0;
|
||||
cmList::index_type i = 0;
|
||||
std::size_t c = args.size();
|
||||
if (c % 2) {
|
||||
argsOut[""] = args[i];
|
||||
@@ -89,7 +88,7 @@ void cmCPackIFWCommon::ExpandListArgument(
|
||||
}
|
||||
|
||||
--c;
|
||||
for (; i < c; i += 2) {
|
||||
for (; i < static_cast<cmList::index_type>(c); i += 2) {
|
||||
argsOut[args[i]] = args[i + 1];
|
||||
}
|
||||
}
|
||||
@@ -97,12 +96,12 @@ void cmCPackIFWCommon::ExpandListArgument(
|
||||
void cmCPackIFWCommon::ExpandListArgument(
|
||||
const std::string& arg, std::multimap<std::string, std::string>& argsOut)
|
||||
{
|
||||
std::vector<std::string> args = cmExpandedList(arg, false);
|
||||
cmList args{ arg };
|
||||
if (args.empty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
std::size_t i = 0;
|
||||
cmList::index_type i = 0;
|
||||
std::size_t c = args.size();
|
||||
if (c % 2) {
|
||||
argsOut.insert(std::pair<std::string, std::string>("", args[i]));
|
||||
@@ -110,7 +109,7 @@ void cmCPackIFWCommon::ExpandListArgument(
|
||||
}
|
||||
|
||||
--c;
|
||||
for (; i < c; i += 2) {
|
||||
for (; i < static_cast<cmList::index_type>(c); i += 2) {
|
||||
argsOut.insert(std::pair<std::string, std::string>(args[i], args[i + 1]));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#include "cmCPackLog.h" // IWYU pragma: keep
|
||||
#include "cmDuration.h"
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "cmList.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmValue.h"
|
||||
@@ -409,8 +410,8 @@ int cmCPackIFWGenerator::InitializeInternal()
|
||||
|
||||
// Repositories
|
||||
if (cmValue RepoAllStr = this->GetOption("CPACK_IFW_REPOSITORIES_ALL")) {
|
||||
std::vector<std::string> RepoAllVector = cmExpandedList(RepoAllStr);
|
||||
for (std::string const& r : RepoAllVector) {
|
||||
cmList RepoAllList{ RepoAllStr };
|
||||
for (std::string const& r : RepoAllList) {
|
||||
this->GetRepository(r);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "cmCPackIFWInstaller.h"
|
||||
#include "cmCPackLog.h" // IWYU pragma: keep
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "cmList.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmTimestamp.h"
|
||||
@@ -455,7 +456,7 @@ int cmCPackIFWPackage::ConfigureFromPrefix(const std::string& prefix)
|
||||
if (this->IsSetToEmpty(option)) {
|
||||
this->AlienAutoDependOn.clear();
|
||||
} else if (cmValue value = this->GetOption(option)) {
|
||||
std::vector<std::string> depsOn = cmExpandedList(value);
|
||||
cmList depsOn{ value };
|
||||
for (std::string const& d : depsOn) {
|
||||
DependenceStruct dep(d);
|
||||
if (this->Generator->Packages.count(dep.Name)) {
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "cmCryptoHash.h"
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "cmInstalledFile.h"
|
||||
#include "cmList.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmUuid.h"
|
||||
@@ -239,7 +240,7 @@ bool cmCPackWIXGenerator::InitializeWiXConfiguration()
|
||||
|
||||
cmValue patchFilePath = GetOption("CPACK_WIX_PATCH_FILE");
|
||||
if (patchFilePath) {
|
||||
std::vector<std::string> patchFilePaths = cmExpandedList(patchFilePath);
|
||||
cmList patchFilePaths{ patchFilePath };
|
||||
|
||||
for (std::string const& p : patchFilePaths) {
|
||||
if (!this->Patch->LoadFragments(p)) {
|
||||
@@ -322,8 +323,7 @@ void cmCPackWIXGenerator::AppendUserSuppliedExtraObjects(std::ostream& stream)
|
||||
if (!cpackWixExtraObjects)
|
||||
return;
|
||||
|
||||
std::vector<std::string> expandedExtraObjects =
|
||||
cmExpandedList(cpackWixExtraObjects);
|
||||
cmList expandedExtraObjects{ cpackWixExtraObjects };
|
||||
|
||||
for (std::string const& obj : expandedExtraObjects) {
|
||||
stream << " " << QuotePath(obj);
|
||||
@@ -1160,7 +1160,7 @@ void cmCPackWIXGenerator::CollectExtensions(std::string const& variableName,
|
||||
if (!variableContent)
|
||||
return;
|
||||
|
||||
std::vector<std::string> list = cmExpandedList(variableContent);
|
||||
cmList list{ variableContent };
|
||||
extensions.insert(list.begin(), list.end());
|
||||
}
|
||||
|
||||
@@ -1172,7 +1172,7 @@ void cmCPackWIXGenerator::CollectXmlNamespaces(std::string const& variableName,
|
||||
return;
|
||||
}
|
||||
|
||||
std::vector<std::string> list = cmExpandedList(variableContent);
|
||||
cmList list{ variableContent };
|
||||
for (std::string const& str : list) {
|
||||
auto pos = str.find('=');
|
||||
if (pos != std::string::npos) {
|
||||
@@ -1200,7 +1200,7 @@ void cmCPackWIXGenerator::AddCustomFlags(std::string const& variableName,
|
||||
if (!variableContent)
|
||||
return;
|
||||
|
||||
std::vector<std::string> list = cmExpandedList(variableContent);
|
||||
cmList list{ variableContent };
|
||||
|
||||
for (std::string const& i : list) {
|
||||
stream << " " << QuotePath(i);
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include <vector>
|
||||
|
||||
#include "cmCPackLog.h"
|
||||
#include "cmList.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmValue.h"
|
||||
@@ -191,7 +192,7 @@ int cmCPackBundleGenerator::SignBundle(const std::string& src_dir)
|
||||
|
||||
cmValue sign_files = this->GetOption("CPACK_BUNDLE_APPLE_CODESIGN_FILES");
|
||||
|
||||
std::vector<std::string> relFiles = cmExpandedList(sign_files);
|
||||
cmList relFiles{ sign_files };
|
||||
|
||||
// sign the files supplied by the user, ie. frameworks.
|
||||
for (auto const& file : relFiles) {
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "cmCPackLog.h"
|
||||
#include "cmCryptoHash.h"
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "cmList.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmValue.h"
|
||||
@@ -427,8 +428,7 @@ bool DebGenerator::generateControlTar(std::string const& md5Filename) const
|
||||
// default
|
||||
control_tar.ClearPermissions();
|
||||
|
||||
std::vector<std::string> controlExtraList =
|
||||
cmExpandedList(this->ControlExtra);
|
||||
cmList controlExtraList{ this->ControlExtra };
|
||||
for (std::string const& i : controlExtraList) {
|
||||
std::string filenamename = cmsys::SystemTools::GetFilenameName(i);
|
||||
std::string localcopy = this->WorkDir + "/" + filenamename;
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "cmCPackLog.h"
|
||||
#include "cmDuration.h"
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "cmList.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmValue.h"
|
||||
@@ -128,8 +129,7 @@ int cmCPackDragNDropGenerator::InitializeInternal()
|
||||
return 0;
|
||||
}
|
||||
|
||||
std::vector<std::string> languages =
|
||||
cmExpandedList(this->GetOption("CPACK_DMG_SLA_LANGUAGES"));
|
||||
cmList languages{ this->GetOption("CPACK_DMG_SLA_LANGUAGES") };
|
||||
if (languages.empty()) {
|
||||
cmCPackLogger(cmCPackLog::LOG_ERROR,
|
||||
"CPACK_DMG_SLA_LANGUAGES set but empty" << std::endl);
|
||||
|
||||
@@ -2,15 +2,6 @@
|
||||
file Copyright.txt or https://cmake.org/licensing for details. */
|
||||
#include "cmCPackFreeBSDGenerator.h"
|
||||
|
||||
#include "cmArchiveWrite.h"
|
||||
#include "cmCPackArchiveGenerator.h"
|
||||
#include "cmCPackLog.h"
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmWorkingDirectory.h"
|
||||
|
||||
// Needed for ::open() and ::stat()
|
||||
#include <algorithm>
|
||||
#include <ostream>
|
||||
#include <utility>
|
||||
@@ -21,6 +12,15 @@
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
#include "cmArchiveWrite.h"
|
||||
#include "cmCPackArchiveGenerator.h"
|
||||
#include "cmCPackLog.h"
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "cmList.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmWorkingDirectory.h"
|
||||
|
||||
// Suffix used to tell libpkg what compression to use
|
||||
static const char FreeBSDPackageCompression[] = "txz";
|
||||
static const char FreeBSDPackageSuffix_17[] = ".pkg";
|
||||
@@ -292,8 +292,7 @@ void cmCPackFreeBSDGenerator::write_manifest_fields(
|
||||
manifest << ManifestKeyValue(
|
||||
"desc", var_lookup("CPACK_FREEBSD_PACKAGE_DESCRIPTION"));
|
||||
manifest << ManifestKeyValue("www", var_lookup("CPACK_FREEBSD_PACKAGE_WWW"));
|
||||
std::vector<std::string> licenses =
|
||||
cmExpandedList(var_lookup("CPACK_FREEBSD_PACKAGE_LICENSE"));
|
||||
cmList licenses{ var_lookup("CPACK_FREEBSD_PACKAGE_LICENSE") };
|
||||
std::string licenselogic("single");
|
||||
if (licenses.empty()) {
|
||||
cmSystemTools::SetFatalErrorOccurred();
|
||||
@@ -302,12 +301,10 @@ void cmCPackFreeBSDGenerator::write_manifest_fields(
|
||||
}
|
||||
manifest << ManifestKeyValue("licenselogic", licenselogic);
|
||||
manifest << (ManifestKeyListValue("licenses") << licenses);
|
||||
std::vector<std::string> categories =
|
||||
cmExpandedList(var_lookup("CPACK_FREEBSD_PACKAGE_CATEGORIES"));
|
||||
cmList categories{ var_lookup("CPACK_FREEBSD_PACKAGE_CATEGORIES") };
|
||||
manifest << (ManifestKeyListValue("categories") << categories);
|
||||
manifest << ManifestKeyValue("prefix", var_lookup("CMAKE_INSTALL_PREFIX"));
|
||||
std::vector<std::string> deps =
|
||||
cmExpandedList(var_lookup("CPACK_FREEBSD_PACKAGE_DEPS"));
|
||||
cmList deps{ var_lookup("CPACK_FREEBSD_PACKAGE_DEPS") };
|
||||
if (!deps.empty()) {
|
||||
manifest << (ManifestKeyDepsValue("deps") << deps);
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "cmFileTimes.h"
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmState.h"
|
||||
#include "cmStateSnapshot.h"
|
||||
@@ -216,8 +217,7 @@ int cmCPackGenerator::InstallProject()
|
||||
cmValue default_dir_install_permissions =
|
||||
this->GetOption("CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS");
|
||||
if (cmNonempty(default_dir_install_permissions)) {
|
||||
std::vector<std::string> items =
|
||||
cmExpandedList(default_dir_install_permissions);
|
||||
cmList items{ default_dir_install_permissions };
|
||||
for (const auto& arg : items) {
|
||||
if (!cmFSPermissions::stringToModeT(arg, default_dir_mode_v)) {
|
||||
cmCPackLogger(cmCPackLog::LOG_ERROR,
|
||||
@@ -266,7 +266,7 @@ int cmCPackGenerator::InstallProject()
|
||||
// Run pre-build actions
|
||||
cmValue preBuildScripts = this->GetOption("CPACK_PRE_BUILD_SCRIPTS");
|
||||
if (preBuildScripts) {
|
||||
const auto scripts = cmExpandedList(preBuildScripts, false);
|
||||
const cmList scripts{ preBuildScripts };
|
||||
for (const auto& script : scripts) {
|
||||
cmCPackLogger(cmCPackLog::LOG_OUTPUT,
|
||||
"Executing pre-build script: " << script << std::endl);
|
||||
@@ -296,8 +296,7 @@ int cmCPackGenerator::InstallProjectViaInstallCommands(
|
||||
std::string tempInstallDirectoryEnv =
|
||||
cmStrCat("CMAKE_INSTALL_PREFIX=", tempInstallDirectory);
|
||||
cmSystemTools::PutEnv(tempInstallDirectoryEnv);
|
||||
std::vector<std::string> installCommandsVector =
|
||||
cmExpandedList(installCommands);
|
||||
cmList installCommandsVector{ installCommands };
|
||||
for (std::string const& ic : installCommandsVector) {
|
||||
cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Execute: " << ic << std::endl);
|
||||
std::string output;
|
||||
@@ -333,8 +332,7 @@ int cmCPackGenerator::InstallProjectViaInstalledDirectories(
|
||||
std::vector<cmsys::RegularExpression> ignoreFilesRegex;
|
||||
cmValue cpackIgnoreFiles = this->GetOption("CPACK_IGNORE_FILES");
|
||||
if (cpackIgnoreFiles) {
|
||||
std::vector<std::string> ignoreFilesRegexString =
|
||||
cmExpandedList(cpackIgnoreFiles);
|
||||
cmList ignoreFilesRegexString{ cpackIgnoreFiles };
|
||||
for (std::string const& ifr : ignoreFilesRegexString) {
|
||||
cmCPackLogger(cmCPackLog::LOG_VERBOSE,
|
||||
"Create ignore files regex for: " << ifr << std::endl);
|
||||
@@ -343,9 +341,8 @@ int cmCPackGenerator::InstallProjectViaInstalledDirectories(
|
||||
}
|
||||
cmValue installDirectories = this->GetOption("CPACK_INSTALLED_DIRECTORIES");
|
||||
if (cmNonempty(installDirectories)) {
|
||||
std::vector<std::string> installDirectoriesVector =
|
||||
cmExpandedList(installDirectories);
|
||||
if (installDirectoriesVector.size() % 2 != 0) {
|
||||
cmList installDirectoriesList{ installDirectories };
|
||||
if (installDirectoriesList.size() % 2 != 0) {
|
||||
cmCPackLogger(
|
||||
cmCPackLog::LOG_ERROR,
|
||||
"CPACK_INSTALLED_DIRECTORIES should contain pairs of <directory> "
|
||||
@@ -355,10 +352,10 @@ int cmCPackGenerator::InstallProjectViaInstalledDirectories(
|
||||
<< std::endl);
|
||||
return 0;
|
||||
}
|
||||
std::vector<std::string>::iterator it;
|
||||
cmList::iterator it;
|
||||
const std::string& tempDir = tempInstallDirectory;
|
||||
for (it = installDirectoriesVector.begin();
|
||||
it != installDirectoriesVector.end(); ++it) {
|
||||
for (it = installDirectoriesList.begin();
|
||||
it != installDirectoriesList.end(); ++it) {
|
||||
std::vector<std::pair<std::string, std::string>> symlinkedFiles;
|
||||
cmCPackLogger(cmCPackLog::LOG_DEBUG, "Find files" << std::endl);
|
||||
cmsys::Glob gl;
|
||||
@@ -485,7 +482,7 @@ int cmCPackGenerator::InstallProjectViaInstallScript(
|
||||
if (cmakeScripts && !cmakeScripts->empty()) {
|
||||
cmCPackLogger(cmCPackLog::LOG_OUTPUT,
|
||||
"- Install scripts: " << cmakeScripts << std::endl);
|
||||
std::vector<std::string> cmakeScriptsVector = cmExpandedList(cmakeScripts);
|
||||
cmList cmakeScriptsVector{ cmakeScripts };
|
||||
for (std::string const& installScript : cmakeScriptsVector) {
|
||||
|
||||
cmCPackLogger(cmCPackLog::LOG_OUTPUT,
|
||||
@@ -549,14 +546,12 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects(
|
||||
<< std::endl);
|
||||
return 0;
|
||||
}
|
||||
std::vector<std::string> cmakeProjectsVector =
|
||||
cmExpandedList(cmakeProjects);
|
||||
std::vector<std::string>::iterator it;
|
||||
for (it = cmakeProjectsVector.begin(); it != cmakeProjectsVector.end();
|
||||
++it) {
|
||||
if (it + 1 == cmakeProjectsVector.end() ||
|
||||
it + 2 == cmakeProjectsVector.end() ||
|
||||
it + 3 == cmakeProjectsVector.end()) {
|
||||
cmList cmakeProjectsList{ cmakeProjects };
|
||||
cmList::iterator it;
|
||||
for (it = cmakeProjectsList.begin(); it != cmakeProjectsList.end(); ++it) {
|
||||
if (it + 1 == cmakeProjectsList.end() ||
|
||||
it + 2 == cmakeProjectsList.end() ||
|
||||
it + 3 == cmakeProjectsList.end()) {
|
||||
cmCPackLogger(
|
||||
cmCPackLog::LOG_ERROR,
|
||||
"Not enough items on list: CPACK_INSTALL_CMAKE_PROJECTS. "
|
||||
@@ -594,9 +589,8 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects(
|
||||
cmSystemTools::UpperCase(project.Component) + "_INSTALL_TYPES";
|
||||
cmValue installTypes = this->GetOption(installTypesVar);
|
||||
if (cmNonempty(installTypes)) {
|
||||
std::vector<std::string> installTypesVector =
|
||||
cmExpandedList(installTypes);
|
||||
for (std::string const& installType : installTypesVector) {
|
||||
cmList installTypesList{ installTypes };
|
||||
for (std::string const& installType : installTypesList) {
|
||||
project.InstallationTypes.push_back(
|
||||
this->GetInstallationType(project.ProjectName, installType));
|
||||
}
|
||||
@@ -1129,7 +1123,7 @@ int cmCPackGenerator::DoPackage()
|
||||
this->MakefileMap->AddDefinition("CPACK_PACKAGE_FILES",
|
||||
cmJoin(this->packageFileNames, ";"));
|
||||
|
||||
const auto scripts = cmExpandedList(postBuildScripts, false);
|
||||
const cmList scripts{ postBuildScripts };
|
||||
for (const auto& script : scripts) {
|
||||
cmCPackLogger(cmCPackLog::LOG_OUTPUT,
|
||||
"Executing post-build script: " << script << std::endl);
|
||||
@@ -1595,9 +1589,8 @@ cmCPackComponent* cmCPackGenerator::GetComponent(
|
||||
// Determine the installation types.
|
||||
cmValue installTypes = this->GetOption(macroPrefix + "_INSTALL_TYPES");
|
||||
if (cmNonempty(installTypes)) {
|
||||
std::vector<std::string> installTypesVector =
|
||||
cmExpandedList(installTypes);
|
||||
for (std::string const& installType : installTypesVector) {
|
||||
cmList installTypesList{ installTypes };
|
||||
for (auto const& installType : installTypesList) {
|
||||
component->InstallationTypes.push_back(
|
||||
this->GetInstallationType(projectName, installType));
|
||||
}
|
||||
@@ -1606,8 +1599,8 @@ cmCPackComponent* cmCPackGenerator::GetComponent(
|
||||
// Determine the component dependencies.
|
||||
cmValue depends = this->GetOption(macroPrefix + "_DEPENDS");
|
||||
if (cmNonempty(depends)) {
|
||||
std::vector<std::string> dependsVector = cmExpandedList(depends);
|
||||
for (std::string const& depend : dependsVector) {
|
||||
cmList dependsList{ depends };
|
||||
for (auto const& depend : dependsList) {
|
||||
cmCPackComponent* child = this->GetComponent(projectName, depend);
|
||||
component->Dependencies.push_back(child);
|
||||
child->ReverseDependencies.push_back(component);
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "cmCPackLog.h"
|
||||
#include "cmDuration.h"
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "cmList.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmValue.h"
|
||||
@@ -569,9 +570,8 @@ int cmCPackNSISGenerator::InitializeInternal()
|
||||
cmCPackLogger(cmCPackLog::LOG_DEBUG,
|
||||
"The cpackPackageExecutables: " << cpackPackageExecutables
|
||||
<< "." << std::endl);
|
||||
std::vector<std::string> cpackPackageExecutablesVector =
|
||||
cmExpandedList(cpackPackageExecutables);
|
||||
if (cpackPackageExecutablesVector.size() % 2 != 0) {
|
||||
cmList cpackPackageExecutablesList{ cpackPackageExecutables };
|
||||
if (cpackPackageExecutablesList.size() % 2 != 0) {
|
||||
cmCPackLogger(
|
||||
cmCPackLog::LOG_ERROR,
|
||||
"CPACK_PACKAGE_EXECUTABLES should contain pairs of <executable> and "
|
||||
@@ -579,9 +579,9 @@ int cmCPackNSISGenerator::InitializeInternal()
|
||||
<< std::endl);
|
||||
return 0;
|
||||
}
|
||||
std::vector<std::string>::iterator it;
|
||||
for (it = cpackPackageExecutablesVector.begin();
|
||||
it != cpackPackageExecutablesVector.end(); ++it) {
|
||||
cmList::iterator it;
|
||||
for (it = cpackPackageExecutablesList.begin();
|
||||
it != cpackPackageExecutablesList.end(); ++it) {
|
||||
std::string execName = *it;
|
||||
++it;
|
||||
std::string linkName = *it;
|
||||
@@ -622,9 +622,8 @@ void cmCPackNSISGenerator::CreateMenuLinks(std::ostream& str,
|
||||
}
|
||||
cmCPackLogger(cmCPackLog::LOG_DEBUG,
|
||||
"The cpackMenuLinks: " << cpackMenuLinks << "." << std::endl);
|
||||
std::vector<std::string> cpackMenuLinksVector =
|
||||
cmExpandedList(cpackMenuLinks);
|
||||
if (cpackMenuLinksVector.size() % 2 != 0) {
|
||||
cmList cpackMenuLinksList{ cpackMenuLinks };
|
||||
if (cpackMenuLinksList.size() % 2 != 0) {
|
||||
cmCPackLogger(
|
||||
cmCPackLog::LOG_ERROR,
|
||||
"CPACK_NSIS_MENU_LINKS should contain pairs of <shortcut target> and "
|
||||
@@ -636,9 +635,8 @@ void cmCPackNSISGenerator::CreateMenuLinks(std::ostream& str,
|
||||
static cmsys::RegularExpression urlRegex(
|
||||
"^(mailto:|(ftps?|https?|news)://).*$");
|
||||
|
||||
std::vector<std::string>::iterator it;
|
||||
for (it = cpackMenuLinksVector.begin(); it != cpackMenuLinksVector.end();
|
||||
++it) {
|
||||
cmList::iterator it;
|
||||
for (it = cpackMenuLinksList.begin(); it != cpackMenuLinksList.end(); ++it) {
|
||||
std::string sourceName = *it;
|
||||
const bool url = urlRegex.find(sourceName);
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "cmDocumentationEntry.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmJSONState.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmState.h"
|
||||
#include "cmStateSnapshot.h"
|
||||
@@ -509,8 +510,8 @@ int main(int argc, char const* const* argv)
|
||||
cmCPack_Log(&log, cmCPackLog::LOG_ERROR,
|
||||
"CPack generator not specified\n");
|
||||
} else {
|
||||
std::vector<std::string> generatorsVector = cmExpandedList(*genList);
|
||||
for (std::string const& gen : generatorsVector) {
|
||||
cmList generatorsList{ *genList };
|
||||
for (std::string const& gen : generatorsList) {
|
||||
cmMakefile::ScopePushPop raii(&globalMF);
|
||||
cmMakefile* mf = &globalMF;
|
||||
cmCPack_Log(&log, cmCPackLog::LOG_VERBOSE,
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
#include "cmCTest.h"
|
||||
#include "cmCTestVC.h"
|
||||
#include "cmList.h"
|
||||
#include "cmProcessOutput.h"
|
||||
#include "cmProcessTools.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
@@ -215,7 +216,7 @@ bool cmCTestGIT::UpdateByFetchAndReset()
|
||||
|
||||
bool cmCTestGIT::UpdateByCustom(std::string const& custom)
|
||||
{
|
||||
std::vector<std::string> git_custom_command = cmExpandedList(custom, true);
|
||||
cmList git_custom_command{ custom, cmList::EmptyElements::Yes };
|
||||
std::vector<char const*> git_custom;
|
||||
git_custom.reserve(git_custom_command.size() + 1);
|
||||
for (std::string const& i : git_custom_command) {
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
|
||||
#include "cmCTest.h"
|
||||
#include "cmCTestVC.h"
|
||||
#include "cmList.h"
|
||||
#include "cmProcessTools.h"
|
||||
#include "cmRange.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
|
||||
cmCTestP4::cmCTestP4(cmCTest* ct, std::ostream& log)
|
||||
@@ -460,7 +460,7 @@ bool cmCTestP4::LoadModifications()
|
||||
|
||||
bool cmCTestP4::UpdateCustom(const std::string& custom)
|
||||
{
|
||||
std::vector<std::string> p4_custom_command = cmExpandedList(custom, true);
|
||||
cmList p4_custom_command{ custom, cmList::EmptyElements::Yes };
|
||||
|
||||
std::vector<char const*> p4_custom;
|
||||
p4_custom.reserve(p4_custom_command.size() + 1);
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
#include "cmDuration.h"
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmState.h"
|
||||
#include "cmStateDirectory.h"
|
||||
@@ -521,7 +522,7 @@ int cmCTestScriptHandler::RunCurrentScript()
|
||||
|
||||
// set any environment variables
|
||||
if (!this->CTestEnv.empty()) {
|
||||
std::vector<std::string> envArgs = cmExpandedList(this->CTestEnv);
|
||||
cmList envArgs{ this->CTestEnv };
|
||||
cmSystemTools::AppendEnv(envArgs);
|
||||
}
|
||||
|
||||
@@ -625,7 +626,7 @@ int cmCTestScriptHandler::PerformExtraUpdates()
|
||||
// do an initial cvs update as required
|
||||
command = this->UpdateCmd;
|
||||
for (std::string const& eu : this->ExtraUpdates) {
|
||||
std::vector<std::string> cvsArgs = cmExpandedList(eu);
|
||||
cmList cvsArgs{ eu };
|
||||
if (cvsArgs.size() == 2) {
|
||||
std::string fullCommand = cmStrCat(command, " update ", cvsArgs[1]);
|
||||
output.clear();
|
||||
@@ -764,7 +765,7 @@ int cmCTestScriptHandler::RunConfigurationDashboard()
|
||||
}
|
||||
|
||||
// run ctest, it may be more than one command in here
|
||||
std::vector<std::string> ctestCommands = cmExpandedList(this->CTestCmd);
|
||||
cmList ctestCommands{ this->CTestCmd };
|
||||
// for each variable/argument do a putenv
|
||||
for (std::string const& ctestCommand : ctestCommands) {
|
||||
command = ctestCommand;
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
#include "cmCTest.h"
|
||||
#include "cmCTestSubmitHandler.h"
|
||||
#include "cmCommand.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
#include "cmRange.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmValue.h"
|
||||
|
||||
@@ -64,14 +64,14 @@ cmCTestGenericHandler* cmCTestSubmitCommand::InitializeHandler()
|
||||
cmValue notesFilesVariable =
|
||||
this->Makefile->GetDefinition("CTEST_NOTES_FILES");
|
||||
if (notesFilesVariable) {
|
||||
std::vector<std::string> notesFiles = cmExpandedList(*notesFilesVariable);
|
||||
cmList notesFiles{ *notesFilesVariable };
|
||||
this->CTest->GenerateNotesFile(notesFiles);
|
||||
}
|
||||
|
||||
cmValue extraFilesVariable =
|
||||
this->Makefile->GetDefinition("CTEST_EXTRA_SUBMIT_FILES");
|
||||
if (extraFilesVariable) {
|
||||
std::vector<std::string> extraFiles = cmExpandedList(*extraFilesVariable);
|
||||
cmList extraFiles{ *extraFilesVariable };
|
||||
if (!this->CTest->SubmitExtraFiles(extraFiles)) {
|
||||
this->SetError("problem submitting extra files.");
|
||||
return nullptr;
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "cmCurl.h"
|
||||
#include "cmDuration.h"
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "cmList.h"
|
||||
#include "cmState.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
@@ -160,7 +161,7 @@ bool cmCTestSubmitHandler::SubmitUsingHTTP(
|
||||
/* In windows, this will init the winsock stuff */
|
||||
::curl_global_init(CURL_GLOBAL_ALL);
|
||||
std::string curlopt(this->CTest->GetCTestConfiguration("CurlOptions"));
|
||||
std::vector<std::string> args = cmExpandedList(curlopt);
|
||||
cmList args{ curlopt };
|
||||
bool verifyPeerOff = false;
|
||||
bool verifyHostOff = false;
|
||||
for (std::string const& arg : args) {
|
||||
@@ -499,7 +500,7 @@ int cmCTestSubmitHandler::HandleCDashUploadFile(std::string const& file,
|
||||
cmCTestCurl curl(this->CTest);
|
||||
curl.SetQuiet(this->Quiet);
|
||||
std::string curlopt(this->CTest->GetCTestConfiguration("CurlOptions"));
|
||||
std::vector<std::string> args = cmExpandedList(curlopt);
|
||||
cmList args{ curlopt };
|
||||
curl.SetCurlOptions(args);
|
||||
auto submitInactivityTimeout = this->GetSubmitInactivityTimeout();
|
||||
if (submitInactivityTimeout != 0) {
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmJSONState.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmState.h"
|
||||
#include "cmStateSnapshot.h"
|
||||
@@ -2235,19 +2236,19 @@ bool cmCTestTestHandler::SetTestsProperties(
|
||||
} else if (key == "ATTACHED_FILES_ON_FAIL"_s) {
|
||||
cmExpandList(val, rt.AttachOnFail);
|
||||
} else if (key == "RESOURCE_LOCK"_s) {
|
||||
std::vector<std::string> lval = cmExpandedList(val);
|
||||
cmList lval{ val };
|
||||
|
||||
rt.LockedResources.insert(lval.begin(), lval.end());
|
||||
} else if (key == "FIXTURES_SETUP"_s) {
|
||||
std::vector<std::string> lval = cmExpandedList(val);
|
||||
cmList lval{ val };
|
||||
|
||||
rt.FixturesSetup.insert(lval.begin(), lval.end());
|
||||
} else if (key == "FIXTURES_CLEANUP"_s) {
|
||||
std::vector<std::string> lval = cmExpandedList(val);
|
||||
cmList lval{ val };
|
||||
|
||||
rt.FixturesCleanup.insert(lval.begin(), lval.end());
|
||||
} else if (key == "FIXTURES_REQUIRED"_s) {
|
||||
std::vector<std::string> lval = cmExpandedList(val);
|
||||
cmList lval{ val };
|
||||
|
||||
rt.FixturesRequired.insert(lval.begin(), lval.end());
|
||||
} else if (key == "TIMEOUT"_s) {
|
||||
@@ -2260,12 +2261,12 @@ bool cmCTestTestHandler::SetTestsProperties(
|
||||
} else if (key == "RUN_SERIAL"_s) {
|
||||
rt.RunSerial = cmIsOn(val);
|
||||
} else if (key == "FAIL_REGULAR_EXPRESSION"_s) {
|
||||
std::vector<std::string> lval = cmExpandedList(val);
|
||||
cmList lval{ val };
|
||||
for (std::string const& cr : lval) {
|
||||
rt.ErrorRegularExpressions.emplace_back(cr, cr);
|
||||
}
|
||||
} else if (key == "SKIP_REGULAR_EXPRESSION"_s) {
|
||||
std::vector<std::string> lval = cmExpandedList(val);
|
||||
cmList lval{ val };
|
||||
for (std::string const& cr : lval) {
|
||||
rt.SkipRegularExpressions.emplace_back(cr, cr);
|
||||
}
|
||||
@@ -2292,7 +2293,7 @@ bool cmCTestTestHandler::SetTestsProperties(
|
||||
} else if (key == "ENVIRONMENT_MODIFICATION"_s) {
|
||||
cmExpandList(val, rt.EnvironmentModification);
|
||||
} else if (key == "LABELS"_s) {
|
||||
std::vector<std::string> Labels = cmExpandedList(val);
|
||||
cmList Labels{ val };
|
||||
rt.Labels.insert(rt.Labels.end(), Labels.begin(), Labels.end());
|
||||
// sort the array
|
||||
std::sort(rt.Labels.begin(), rt.Labels.end());
|
||||
@@ -2309,21 +2310,21 @@ bool cmCTestTestHandler::SetTestsProperties(
|
||||
rt.Measurements[val] = "1";
|
||||
}
|
||||
} else if (key == "PASS_REGULAR_EXPRESSION"_s) {
|
||||
std::vector<std::string> lval = cmExpandedList(val);
|
||||
cmList lval{ val };
|
||||
for (std::string const& cr : lval) {
|
||||
rt.RequiredRegularExpressions.emplace_back(cr, cr);
|
||||
}
|
||||
} else if (key == "WORKING_DIRECTORY"_s) {
|
||||
rt.Directory = val;
|
||||
} else if (key == "TIMEOUT_AFTER_MATCH"_s) {
|
||||
std::vector<std::string> propArgs = cmExpandedList(val);
|
||||
cmList propArgs{ val };
|
||||
if (propArgs.size() != 2) {
|
||||
cmCTestLog(this->CTest, WARNING,
|
||||
"TIMEOUT_AFTER_MATCH expects two arguments, found "
|
||||
<< propArgs.size() << std::endl);
|
||||
} else {
|
||||
rt.AlternateTimeout = cmDuration(atof(propArgs[0].c_str()));
|
||||
std::vector<std::string> lval = cmExpandedList(propArgs[1]);
|
||||
cmList lval{ propArgs[1] };
|
||||
for (std::string const& cr : lval) {
|
||||
rt.TimeoutRegularExpressions.emplace_back(cr, cr);
|
||||
}
|
||||
@@ -2365,7 +2366,7 @@ bool cmCTestTestHandler::SetDirectoryProperties(
|
||||
std::string cwd = cmSystemTools::GetCurrentWorkingDirectory();
|
||||
if (cwd == rt.Directory) {
|
||||
if (key == "LABELS"_s) {
|
||||
std::vector<std::string> DirectoryLabels = cmExpandedList(val);
|
||||
cmList DirectoryLabels{ val };
|
||||
rt.Labels.insert(rt.Labels.end(), DirectoryLabels.begin(),
|
||||
DirectoryLabels.end());
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
|
||||
#include <cassert>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include <cm/memory>
|
||||
|
||||
@@ -15,9 +14,9 @@
|
||||
#include "cmCursesPathWidget.h"
|
||||
#include "cmCursesStringWidget.h"
|
||||
#include "cmCursesWidget.h"
|
||||
#include "cmList.h"
|
||||
#include "cmState.h"
|
||||
#include "cmStateTypes.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmValue.h"
|
||||
|
||||
@@ -76,7 +75,7 @@ cmCursesCacheEntryComposite::cmCursesCacheEntryComposite(
|
||||
if (stringsProp) {
|
||||
auto ow =
|
||||
cm::make_unique<cmCursesOptionsWidget>(this->EntryWidth, 1, 1, 1);
|
||||
for (std::string const& opt : cmExpandedList(*stringsProp)) {
|
||||
for (auto const& opt : cmList{ *stringsProp }) {
|
||||
ow->AddOption(opt);
|
||||
}
|
||||
ow->SetOption(*value);
|
||||
|
||||
+4
-3
@@ -55,6 +55,7 @@
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmJSONState.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmProcessOutput.h"
|
||||
#include "cmState.h"
|
||||
@@ -1468,7 +1469,7 @@ void cmCTest::AddSiteProperties(cmXMLWriter& xml)
|
||||
ch->GetCMake()->GetState()->GetGlobalProperty("SubProjectLabels");
|
||||
if (labels) {
|
||||
xml.StartElement("Labels");
|
||||
std::vector<std::string> args = cmExpandedList(*labels);
|
||||
cmList args{ *labels };
|
||||
for (std::string const& i : args) {
|
||||
xml.Element("Label", i);
|
||||
}
|
||||
@@ -1500,7 +1501,7 @@ std::vector<std::string> cmCTest::GetLabelsForSubprojects()
|
||||
{
|
||||
std::string labelsForSubprojects =
|
||||
this->GetCTestConfiguration("LabelsForSubprojects");
|
||||
std::vector<std::string> subprojects = cmExpandedList(labelsForSubprojects);
|
||||
cmList subprojects{ labelsForSubprojects };
|
||||
|
||||
// sort the array
|
||||
std::sort(subprojects.begin(), subprojects.end());
|
||||
@@ -1508,7 +1509,7 @@ std::vector<std::string> cmCTest::GetLabelsForSubprojects()
|
||||
auto new_end = std::unique(subprojects.begin(), subprojects.end());
|
||||
subprojects.erase(new_end, subprojects.end());
|
||||
|
||||
return subprojects;
|
||||
return std::move(subprojects.data());
|
||||
}
|
||||
|
||||
void cmCTest::EndXML(cmXMLWriter& xml)
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "cmsys/Glob.hxx"
|
||||
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMessageType.h"
|
||||
#include "cmMessenger.h"
|
||||
#include "cmState.h"
|
||||
@@ -531,15 +532,11 @@ void cmCacheManager::AddCacheEntry(const std::string& key, cmValue value,
|
||||
// make sure we only use unix style paths
|
||||
if (type == cmStateEnums::FILEPATH || type == cmStateEnums::PATH) {
|
||||
if (e.Value.find(';') != std::string::npos) {
|
||||
std::vector<std::string> paths = cmExpandedList(e.Value);
|
||||
const char* sep = "";
|
||||
e.Value = "";
|
||||
cmList paths{ e.Value };
|
||||
for (std::string& i : paths) {
|
||||
cmSystemTools::ConvertToUnixSlashes(i);
|
||||
e.Value += sep;
|
||||
e.Value += i;
|
||||
sep = ";";
|
||||
}
|
||||
e.Value = paths.to_string();
|
||||
} else {
|
||||
cmSystemTools::ConvertToUnixSlashes(e.Value);
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmGlobalCommonGenerator.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmLocalCommonGenerator.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
@@ -303,8 +304,7 @@ std::string cmCommonTargetGenerator::GetLinkerLauncher(
|
||||
*launcherProp, this->LocalCommonGenerator, config, this->GeneratorTarget,
|
||||
&dagChecker, this->GeneratorTarget, lang);
|
||||
// Convert ;-delimited list to single string
|
||||
std::vector<std::string> args =
|
||||
cmExpandedList(evaluatedLinklauncher, true);
|
||||
cmList args{ evaluatedLinklauncher, cmList::EmptyElements::Yes };
|
||||
if (!args.empty()) {
|
||||
args[0] = this->LocalCommonGenerator->ConvertToOutputFormat(
|
||||
args[0], cmOutputConverter::SHELL);
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "cmGeneratorExpressionDAGChecker.h"
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
@@ -627,7 +628,7 @@ void cmComputeLinkDepends::AddVarLinkEntries(size_t depender_index,
|
||||
// This is called to add the dependencies named by
|
||||
// <item>_LIB_DEPENDS. The variable contains a semicolon-separated
|
||||
// list. The list contains link-type;item pairs and just items.
|
||||
std::vector<std::string> deplist = cmExpandedList(value);
|
||||
cmList deplist{ value };
|
||||
|
||||
// Look for entries meant for this configuration.
|
||||
std::vector<cmLinkItem> actual_libs;
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "cmComputeLinkDepends.h"
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
@@ -858,8 +859,8 @@ bool cmComputeLinkInformation::AddLibraryFeature(std::string const& feature)
|
||||
return false;
|
||||
}
|
||||
|
||||
auto items = cmExpandListWithBacktrace(*langFeature,
|
||||
this->Target->GetBacktrace(), true);
|
||||
auto items = cmExpandListWithBacktrace(
|
||||
*langFeature, this->Target->GetBacktrace(), cmList::EmptyElements::Yes);
|
||||
|
||||
if ((items.size() == 1 && !IsValidFeatureFormat(items.front().Value)) ||
|
||||
(items.size() == 3 && !IsValidFeatureFormat(items[1].Value))) {
|
||||
@@ -1016,8 +1017,8 @@ cmComputeLinkInformation::GetGroupFeature(std::string const& feature)
|
||||
.first->second;
|
||||
}
|
||||
|
||||
auto items = cmExpandListWithBacktrace(*langFeature,
|
||||
this->Target->GetBacktrace(), true);
|
||||
auto items = cmExpandListWithBacktrace(
|
||||
*langFeature, this->Target->GetBacktrace(), cmList::EmptyElements::Yes);
|
||||
|
||||
// replace LINKER: pattern
|
||||
this->Target->ResolveLinkerWrapper(items, this->LinkLanguage, true);
|
||||
@@ -1072,8 +1073,8 @@ void cmComputeLinkInformation::AddRuntimeLinkLibrary(std::string const& lang)
|
||||
}
|
||||
if (cmValue runtimeLinkOptions = this->Makefile->GetDefinition(cmStrCat(
|
||||
"CMAKE_", lang, "_RUNTIME_LIBRARY_LINK_OPTIONS_", runtimeLibrary))) {
|
||||
std::vector<std::string> libsVec = cmExpandedList(*runtimeLinkOptions);
|
||||
for (std::string const& i : libsVec) {
|
||||
cmList libs{ *runtimeLinkOptions };
|
||||
for (auto const& i : libs) {
|
||||
if (!cm::contains(this->ImplicitLinkLibs, i)) {
|
||||
this->AddItem({ i });
|
||||
}
|
||||
@@ -1087,8 +1088,8 @@ void cmComputeLinkInformation::AddImplicitLinkInfo(std::string const& lang)
|
||||
// linker language.
|
||||
std::string libVar = cmStrCat("CMAKE_", lang, "_IMPLICIT_LINK_LIBRARIES");
|
||||
if (cmValue libs = this->Makefile->GetDefinition(libVar)) {
|
||||
std::vector<std::string> libsVec = cmExpandedList(*libs);
|
||||
for (std::string const& i : libsVec) {
|
||||
cmList libsList{ *libs };
|
||||
for (auto const& i : libsList) {
|
||||
if (!cm::contains(this->ImplicitLinkLibs, i)) {
|
||||
this->AddItem({ i });
|
||||
}
|
||||
@@ -1099,8 +1100,8 @@ void cmComputeLinkInformation::AddImplicitLinkInfo(std::string const& lang)
|
||||
// implied by the linker language.
|
||||
std::string dirVar = cmStrCat("CMAKE_", lang, "_IMPLICIT_LINK_DIRECTORIES");
|
||||
if (cmValue dirs = this->Makefile->GetDefinition(dirVar)) {
|
||||
std::vector<std::string> dirsVec = cmExpandedList(*dirs);
|
||||
this->OrderLinkerSearchPath->AddLanguageDirectories(dirsVec);
|
||||
cmList dirsList{ *dirs };
|
||||
this->OrderLinkerSearchPath->AddLanguageDirectories(dirsList);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1370,15 +1371,15 @@ void cmComputeLinkInformation::ComputeItemParserInfo()
|
||||
LinkUnknown);
|
||||
if (cmValue linkSuffixes =
|
||||
mf->GetDefinition("CMAKE_EXTRA_LINK_EXTENSIONS")) {
|
||||
std::vector<std::string> linkSuffixVec = cmExpandedList(*linkSuffixes);
|
||||
for (std::string const& i : linkSuffixVec) {
|
||||
cmList linkSuffixList{ *linkSuffixes };
|
||||
for (auto const& i : linkSuffixList) {
|
||||
this->AddLinkExtension(i, LinkUnknown);
|
||||
}
|
||||
}
|
||||
if (cmValue sharedSuffixes =
|
||||
mf->GetDefinition("CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES")) {
|
||||
std::vector<std::string> sharedSuffixVec = cmExpandedList(*sharedSuffixes);
|
||||
for (std::string const& i : sharedSuffixVec) {
|
||||
cmList sharedSuffixList{ *sharedSuffixes };
|
||||
for (std::string const& i : sharedSuffixList) {
|
||||
this->AddLinkExtension(i, LinkShared);
|
||||
}
|
||||
}
|
||||
@@ -2279,7 +2280,7 @@ static void cmCLI_ExpandListUnique(std::string const& str,
|
||||
std::vector<std::string>& out,
|
||||
std::set<std::string>& emitted)
|
||||
{
|
||||
std::vector<std::string> tmp = cmExpandedList(str);
|
||||
cmList tmp{ str };
|
||||
for (std::string const& i : tmp) {
|
||||
if (emitted.insert(i).second) {
|
||||
out.push_back(i);
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
|
||||
#include "cmCMakePath.h"
|
||||
#include "cmExpandedCommandArgument.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
#include "cmState.h"
|
||||
@@ -764,7 +765,9 @@ bool cmConditionEvaluator::HandleLevel2(cmArgumentList& newArgs,
|
||||
cmValue rhs = this->Makefile.GetDefinition(args.nextnext->GetValue());
|
||||
|
||||
newArgs.ReduceTwoArgs(
|
||||
rhs && cm::contains(cmExpandedList(*rhs, true), *lhs), args);
|
||||
rhs &&
|
||||
cm::contains(cmList{ *rhs, cmList::EmptyElements::Yes }, *lhs),
|
||||
args);
|
||||
}
|
||||
|
||||
else if (this->Policy57Status == cmPolicies::WARN) {
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "cmConfigureLog.h"
|
||||
#include "cmExportTryCompileFileGenerator.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
#include "cmOutputConverter.h"
|
||||
@@ -1024,7 +1025,7 @@ cm::optional<cmTryCompileResult> cmCoreTryCompile::TryCompileCode(
|
||||
|
||||
if (cmValue varListStr = this->Makefile->GetDefinition(
|
||||
kCMAKE_TRY_COMPILE_PLATFORM_VARIABLES)) {
|
||||
std::vector<std::string> varList = cmExpandedList(*varListStr);
|
||||
cmList varList{ *varListStr };
|
||||
vars.insert(varList.begin(), varList.end());
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
#include "cmGeneratorExpression.h"
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmStateTypes.h"
|
||||
@@ -116,7 +117,7 @@ std::vector<std::string> EvaluateDepends(std::vector<std::string> const& paths,
|
||||
/*outputConfig=*/outputConfig,
|
||||
/*commandConfig=*/commandConfig,
|
||||
/*target=*/nullptr);
|
||||
cm::append(depends, cmExpandedList(ep));
|
||||
cm::append(depends, cmList{ ep });
|
||||
}
|
||||
for (std::string& p : depends) {
|
||||
if (cmSystemTools::FileIsFullPath(p)) {
|
||||
@@ -196,7 +197,7 @@ cmCustomCommandGenerator::cmCustomCommandGenerator(
|
||||
clarg, ge, this->LG, useOutputConfig, this->OutputConfig,
|
||||
this->CommandConfig, target, &this->Utilities);
|
||||
if (this->CC->GetCommandExpandLists()) {
|
||||
cm::append(argv, cmExpandedList(parsed_arg));
|
||||
cm::append(argv, cmList{ parsed_arg });
|
||||
} else {
|
||||
argv.push_back(std::move(parsed_arg));
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmLinkItem.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
#include "cmPolicies.h"
|
||||
@@ -148,7 +149,7 @@ void cmExportBuildAndroidMKGenerator::GenerateInterfaceProperties(
|
||||
}
|
||||
} else if (property.first == "INTERFACE_INCLUDE_DIRECTORIES") {
|
||||
std::string includes = property.second;
|
||||
std::vector<std::string> includeList = cmExpandedList(includes);
|
||||
cmList includeList{ includes };
|
||||
os << "LOCAL_EXPORT_C_INCLUDES := ";
|
||||
std::string end;
|
||||
for (std::string const& i : includeList) {
|
||||
@@ -158,9 +159,8 @@ void cmExportBuildAndroidMKGenerator::GenerateInterfaceProperties(
|
||||
os << "\n";
|
||||
} else if (property.first == "INTERFACE_LINK_OPTIONS") {
|
||||
os << "LOCAL_EXPORT_LDFLAGS := ";
|
||||
std::vector<std::string> linkFlagsList =
|
||||
cmExpandedList(property.second);
|
||||
os << cmJoin(linkFlagsList, " ") << "\n";
|
||||
cmList linkFlagsList{ property.second };
|
||||
os << linkFlagsList.join(" ") << "\n";
|
||||
} else {
|
||||
os << "# " << property.first << " " << (property.second) << "\n";
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmLinkItem.h"
|
||||
#include "cmList.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
@@ -507,7 +508,7 @@ static void getPropertyContents(cmGeneratorTarget const* tgt,
|
||||
if (!p) {
|
||||
return;
|
||||
}
|
||||
std::vector<std::string> content = cmExpandedList(*p);
|
||||
cmList content{ *p };
|
||||
ifaceProperties.insert(content.begin(), content.end());
|
||||
}
|
||||
|
||||
@@ -1245,7 +1246,7 @@ bool cmExportFileGenerator::PopulateExportProperties(
|
||||
const auto& targetProperties = gte->Target->GetProperties();
|
||||
if (cmValue exportProperties =
|
||||
targetProperties.GetPropertyValue("EXPORT_PROPERTIES")) {
|
||||
for (auto& prop : cmExpandedList(*exportProperties)) {
|
||||
for (auto& prop : cmList{ *exportProperties }) {
|
||||
/* Black list reserved properties */
|
||||
if (cmHasLiteralPrefix(prop, "IMPORTED_") ||
|
||||
cmHasLiteralPrefix(prop, "INTERFACE_")) {
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "cmGeneratorExpressionDAGChecker.h"
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
@@ -126,7 +127,7 @@ void cmExportTryCompileFileGenerator::PopulateProperties(
|
||||
std::string evalResult =
|
||||
this->FindTargets(p, target, std::string(), emitted);
|
||||
|
||||
std::vector<std::string> depends = cmExpandedList(evalResult);
|
||||
cmList depends{ evalResult };
|
||||
for (std::string const& li : depends) {
|
||||
cmGeneratorTarget* tgt =
|
||||
target->GetLocalGenerator()->FindGeneratorTargetToUse(li);
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmRange.h"
|
||||
@@ -567,13 +568,13 @@ void cmExtraCodeBlocksGenerator::AppendTarget(
|
||||
std::string systemIncludeDirs = makefile->GetSafeDefinition(
|
||||
"CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_INCLUDE_DIRS");
|
||||
if (!systemIncludeDirs.empty()) {
|
||||
cm::append(allIncludeDirs, cmExpandedList(systemIncludeDirs));
|
||||
cm::append(allIncludeDirs, cmList{ systemIncludeDirs });
|
||||
}
|
||||
|
||||
systemIncludeDirs = makefile->GetSafeDefinition(
|
||||
"CMAKE_EXTRA_GENERATOR_C_SYSTEM_INCLUDE_DIRS");
|
||||
if (!systemIncludeDirs.empty()) {
|
||||
cm::append(allIncludeDirs, cmExpandedList(systemIncludeDirs));
|
||||
cm::append(allIncludeDirs, cmList{ systemIncludeDirs });
|
||||
}
|
||||
|
||||
auto end = cmRemoveDuplicates(allIncludeDirs);
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "cmGeneratorExpression.h"
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
@@ -418,7 +419,7 @@ void cmExtraEclipseCDT4Generator::CreateProjectFile()
|
||||
|
||||
if (cmValue extraNaturesProp =
|
||||
mf->GetState()->GetGlobalProperty("ECLIPSE_EXTRA_NATURES")) {
|
||||
std::vector<std::string> extraNatures = cmExpandedList(*extraNaturesProp);
|
||||
cmList extraNatures{ *extraNaturesProp };
|
||||
for (std::string const& n : extraNatures) {
|
||||
xml.Element("nature", n);
|
||||
}
|
||||
@@ -798,7 +799,7 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const
|
||||
mf->GetDefinition("CMAKE_EXTRA_GENERATOR_C_SYSTEM_DEFINED_MACROS");
|
||||
if (this->CEnabled && cDefs) {
|
||||
// Expand the list.
|
||||
std::vector<std::string> defs = cmExpandedList(*cDefs, true);
|
||||
cmList defs{ *cDefs, cmList::EmptyElements::Yes };
|
||||
|
||||
// the list must contain only definition-value pairs:
|
||||
if ((defs.size() % 2) == 0) {
|
||||
@@ -830,7 +831,7 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const
|
||||
mf->GetDefinition("CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS");
|
||||
if (this->CXXEnabled && cxxDefs) {
|
||||
// Expand the list.
|
||||
std::vector<std::string> defs = cmExpandedList(*cxxDefs, true);
|
||||
cmList defs{ *cxxDefs, cmList::EmptyElements::Yes };
|
||||
|
||||
// the list must contain only definition-value pairs:
|
||||
if ((defs.size() % 2) == 0) {
|
||||
@@ -879,14 +880,14 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const
|
||||
if (this->CEnabled && !compiler.empty()) {
|
||||
std::string systemIncludeDirs =
|
||||
mf->GetSafeDefinition("CMAKE_EXTRA_GENERATOR_C_SYSTEM_INCLUDE_DIRS");
|
||||
std::vector<std::string> dirs = cmExpandedList(systemIncludeDirs);
|
||||
cmList dirs{ systemIncludeDirs };
|
||||
this->AppendIncludeDirectories(xml, dirs, emitted);
|
||||
}
|
||||
compiler = mf->GetSafeDefinition("CMAKE_CXX_COMPILER");
|
||||
if (this->CXXEnabled && !compiler.empty()) {
|
||||
std::string systemIncludeDirs =
|
||||
mf->GetSafeDefinition("CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_INCLUDE_DIRS");
|
||||
std::vector<std::string> dirs = cmExpandedList(systemIncludeDirs);
|
||||
cmList dirs{ systemIncludeDirs };
|
||||
this->AppendIncludeDirectories(xml, dirs, emitted);
|
||||
}
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#include "cmGeneratorExpression.h"
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
@@ -138,7 +139,7 @@ void cmExtraSublimeTextGenerator::CreateNewProjectFile(
|
||||
// End of build_systems
|
||||
fout << "\n\t]";
|
||||
std::string systemName = mf->GetSafeDefinition("CMAKE_SYSTEM_NAME");
|
||||
std::vector<std::string> tokens = cmExpandedList(this->EnvSettings);
|
||||
cmList tokens{ this->EnvSettings };
|
||||
|
||||
if (!this->EnvSettings.empty()) {
|
||||
fout << ",";
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmFSPermissions.h"
|
||||
#include "cmFileTimes.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
@@ -169,8 +170,7 @@ bool cmFileCopier::GetDefaultDirectoryPermissions(mode_t** mode)
|
||||
cmValue default_dir_install_permissions = this->Makefile->GetDefinition(
|
||||
"CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS");
|
||||
if (cmNonempty(default_dir_install_permissions)) {
|
||||
std::vector<std::string> items =
|
||||
cmExpandedList(*default_dir_install_permissions);
|
||||
cmList items{ *default_dir_install_permissions };
|
||||
for (const auto& arg : items) {
|
||||
if (!this->CheckPermissions(arg, **mode)) {
|
||||
this->Status.SetError(
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "cmsys/RegularExpression.hxx"
|
||||
|
||||
#include "cmGeneratorExpression.h"
|
||||
#include "cmList.h"
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
@@ -113,7 +114,7 @@ cmFileSet::CompileFileEntries() const
|
||||
std::vector<std::unique_ptr<cmCompiledGeneratorExpression>> result;
|
||||
|
||||
for (auto const& entry : this->FileEntries) {
|
||||
for (auto const& ex : cmExpandedList(entry.Value)) {
|
||||
for (auto const& ex : cmList{ entry.Value }) {
|
||||
cmGeneratorExpression ge(this->CMakeInstance, entry.Backtrace);
|
||||
auto cge = ge.Parse(ex);
|
||||
result.push_back(std::move(cge));
|
||||
@@ -129,7 +130,7 @@ cmFileSet::CompileDirectoryEntries() const
|
||||
std::vector<std::unique_ptr<cmCompiledGeneratorExpression>> result;
|
||||
|
||||
for (auto const& entry : this->DirectoryEntries) {
|
||||
for (auto const& ex : cmExpandedList(entry.Value)) {
|
||||
for (auto const& ex : cmList{ entry.Value }) {
|
||||
cmGeneratorExpression ge(this->CMakeInstance, entry.Backtrace);
|
||||
auto cge = ge.Parse(ex);
|
||||
result.push_back(std::move(cge));
|
||||
@@ -148,7 +149,7 @@ std::vector<std::string> cmFileSet::EvaluateDirectoryEntries(
|
||||
std::vector<std::string> result;
|
||||
for (auto const& cge : cges) {
|
||||
auto entry = cge->Evaluate(lg, config, target, dagChecker);
|
||||
auto dirs = cmExpandedList(entry);
|
||||
cmList dirs{ entry };
|
||||
for (std::string dir : dirs) {
|
||||
if (!cmSystemTools::FileIsFullPath(dir)) {
|
||||
dir = cmStrCat(lg->GetCurrentSourceDirectory(), '/', dir);
|
||||
@@ -184,7 +185,7 @@ void cmFileSet::EvaluateFileEntry(
|
||||
cmGeneratorExpressionDAGChecker* dagChecker) const
|
||||
{
|
||||
auto files = cge->Evaluate(lg, config, target, dagChecker);
|
||||
for (std::string file : cmExpandedList(files)) {
|
||||
for (std::string file : cmList{ files }) {
|
||||
if (!cmSystemTools::FileIsFullPath(file)) {
|
||||
file = cmStrCat(lg->GetCurrentSourceDirectory(), '/', file);
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
|
||||
#include "cmCMakePath.h"
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmList.h"
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
@@ -154,7 +155,7 @@ bool cmFindBase::ParseArguments(std::vector<std::string> const& argsIn)
|
||||
}
|
||||
// ensure a macro is not specified as validator
|
||||
const auto& validatorName = args[j];
|
||||
auto macros = cmExpandedList(this->Makefile->GetProperty("MACROS"));
|
||||
cmList macros{ this->Makefile->GetProperty("MACROS") };
|
||||
if (std::find_if(macros.begin(), macros.end(),
|
||||
[&validatorName](const std::string& item) {
|
||||
return cmSystemTools::Strucmp(validatorName.c_str(),
|
||||
@@ -403,7 +404,7 @@ void cmFindBase::FillCMakeSystemVariablePath()
|
||||
this->Makefile->GetDefinition("CMAKE_SYSTEM_PREFIX_PATH");
|
||||
|
||||
// remove entries from CMAKE_SYSTEM_PREFIX_PATH
|
||||
std::vector<std::string> expanded = cmExpandedList(*prefix_paths);
|
||||
cmList expanded{ *prefix_paths };
|
||||
install_entry.remove_self(expanded);
|
||||
staging_entry.remove_self(expanded);
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
|
||||
#include "cmAlgorithms.h"
|
||||
#include "cmDependencyProvider.h"
|
||||
#include "cmList.h"
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
@@ -2338,7 +2339,7 @@ void cmFindPackageCommand::FillPrefixesCMakeSystemVariable()
|
||||
cmValue prefix_paths =
|
||||
this->Makefile->GetDefinition("CMAKE_SYSTEM_PREFIX_PATH");
|
||||
// remove entry from CMAKE_SYSTEM_PREFIX_PATH
|
||||
std::vector<std::string> expanded = cmExpandedList(*prefix_paths);
|
||||
cmList expanded{ *prefix_paths };
|
||||
long count = 0;
|
||||
for (const auto& path : expanded) {
|
||||
bool const to_add =
|
||||
|
||||
@@ -708,9 +708,9 @@ static const struct PathNode : public cmGeneratorExpressionNode
|
||||
static auto processList =
|
||||
[](std::string const& arg,
|
||||
std::function<void(std::string&)> transform) -> std::string {
|
||||
auto list = cmExpandedList(arg);
|
||||
cmList list{ arg };
|
||||
std::for_each(list.begin(), list.end(), std::move(transform));
|
||||
return cmJoin(list, ";");
|
||||
return list.to_string();
|
||||
};
|
||||
|
||||
static std::unordered_map<
|
||||
@@ -4363,7 +4363,7 @@ static const struct ShellPathNode : public cmGeneratorExpressionNode
|
||||
const GeneratorExpressionContent* content,
|
||||
cmGeneratorExpressionDAGChecker* /*dagChecker*/) const override
|
||||
{
|
||||
std::vector<std::string> listIn = cmExpandedList(parameters.front());
|
||||
cmList listIn{ parameters.front() };
|
||||
if (listIn.empty()) {
|
||||
reportError(context, content->GetOriginalExpression(),
|
||||
"\"\" is not an absolute path.");
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
#include "cmGeneratorExpressionDAGChecker.h"
|
||||
#include "cmGeneratorExpressionNode.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
@@ -1634,20 +1635,20 @@ void AddFileSetEntries(cmGeneratorTarget const* headTarget,
|
||||
EvaluatedTargetPropertyEntries& entries)
|
||||
{
|
||||
for (auto const& entry : headTarget->Target->GetHeaderSetsEntries()) {
|
||||
for (auto const& name : cmExpandedList(entry.Value)) {
|
||||
for (auto const& name : cmList{ entry.Value }) {
|
||||
auto const* headerSet = headTarget->Target->GetFileSet(name);
|
||||
addFileSetEntry(headTarget, config, dagChecker, headerSet, entries);
|
||||
}
|
||||
}
|
||||
for (auto const& entry : headTarget->Target->GetCxxModuleSetsEntries()) {
|
||||
for (auto const& name : cmExpandedList(entry.Value)) {
|
||||
for (auto const& name : cmList{ entry.Value }) {
|
||||
auto const* cxxModuleSet = headTarget->Target->GetFileSet(name);
|
||||
addFileSetEntry(headTarget, config, dagChecker, cxxModuleSet, entries);
|
||||
}
|
||||
}
|
||||
for (auto const& entry :
|
||||
headTarget->Target->GetCxxModuleHeaderSetsEntries()) {
|
||||
for (auto const& name : cmExpandedList(entry.Value)) {
|
||||
for (auto const& name : cmList{ entry.Value }) {
|
||||
auto const* cxxModuleHeaderSet = headTarget->Target->GetFileSet(name);
|
||||
addFileSetEntry(headTarget, config, dagChecker, cxxModuleHeaderSet,
|
||||
entries);
|
||||
@@ -1740,8 +1741,8 @@ std::vector<BT<std::string>> cmGeneratorTarget::GetSourceFilePaths(
|
||||
|
||||
cmBTStringRange sourceEntries = this->Target->GetSourceEntries();
|
||||
for (auto const& entry : sourceEntries) {
|
||||
std::vector<std::string> items = cmExpandedList(entry.Value);
|
||||
for (std::string const& item : items) {
|
||||
cmList items{ entry.Value };
|
||||
for (auto const& item : items) {
|
||||
if (cmHasLiteralPrefix(item, "$<TARGET_OBJECTS:") &&
|
||||
item.back() == '>') {
|
||||
continue;
|
||||
@@ -3105,8 +3106,8 @@ void cmTargetTraceDependencies::Trace()
|
||||
|
||||
// Queue dependencies added explicitly by the user.
|
||||
if (cmValue additionalDeps = sf->GetProperty("OBJECT_DEPENDS")) {
|
||||
std::vector<std::string> objDeps = cmExpandedList(*additionalDeps);
|
||||
for (std::string& objDep : objDeps) {
|
||||
cmList objDeps{ *additionalDeps };
|
||||
for (auto& objDep : objDeps) {
|
||||
if (cmSystemTools::FileIsFullPath(objDep)) {
|
||||
objDep = cmSystemTools::CollapseFullPath(objDep);
|
||||
}
|
||||
@@ -4606,7 +4607,7 @@ std::vector<BT<std::string>> cmGeneratorTarget::GetLinkOptions(
|
||||
// wrap host link options
|
||||
const std::string wrapper(this->Makefile->GetSafeDefinition(
|
||||
"CMAKE_" + language + "_DEVICE_COMPILER_WRAPPER_FLAG"));
|
||||
std::vector<std::string> wrapperFlag = cmExpandedList(wrapper);
|
||||
cmList wrapperFlag{ wrapper };
|
||||
const std::string wrapperSep(this->Makefile->GetSafeDefinition(
|
||||
"CMAKE_" + language + "_DEVICE_COMPILER_WRAPPER_FLAG_SEP"));
|
||||
bool concatFlagAndArgs = true;
|
||||
@@ -4665,7 +4666,7 @@ std::vector<BT<std::string>>& cmGeneratorTarget::ResolveLinkerWrapper(
|
||||
"CMAKE_" + language +
|
||||
(this->IsDeviceLink() ? "_DEVICE_LINKER_WRAPPER_FLAG"
|
||||
: "_LINKER_WRAPPER_FLAG")));
|
||||
std::vector<std::string> wrapperFlag = cmExpandedList(wrapper);
|
||||
cmList wrapperFlag{ wrapper };
|
||||
const std::string wrapperSep(this->Makefile->GetSafeDefinition(
|
||||
"CMAKE_" + language +
|
||||
(this->IsDeviceLink() ? "_DEVICE_LINKER_WRAPPER_FLAG_SEP"
|
||||
@@ -4911,7 +4912,7 @@ std::vector<BT<std::string>> cmGeneratorTarget::GetLinkDepends(
|
||||
|
||||
EvaluatedTargetPropertyEntries entries;
|
||||
if (cmValue linkDepends = this->GetProperty("LINK_DEPENDS")) {
|
||||
std::vector<std::string> depends = cmExpandedList(*linkDepends);
|
||||
cmList depends{ *linkDepends };
|
||||
for (const auto& depend : depends) {
|
||||
std::unique_ptr<TargetPropertyEntry> entry = CreateTargetPropertyEntry(
|
||||
*this->LocalGenerator->GetCMakeInstance(), depend);
|
||||
@@ -5590,8 +5591,8 @@ void cmGeneratorTarget::ConstructSourceFileFlags() const
|
||||
|
||||
// Process public headers to mark the source files.
|
||||
if (cmValue files = this->GetProperty("PUBLIC_HEADER")) {
|
||||
std::vector<std::string> relFiles = cmExpandedList(*files);
|
||||
for (std::string const& relFile : relFiles) {
|
||||
cmList relFiles{ *files };
|
||||
for (auto const& relFile : relFiles) {
|
||||
if (cmSourceFile* sf = this->Makefile->GetSource(relFile)) {
|
||||
SourceFileFlags& flags = this->SourceFlagsMap[sf];
|
||||
flags.MacFolder = "Headers";
|
||||
@@ -5603,8 +5604,8 @@ void cmGeneratorTarget::ConstructSourceFileFlags() const
|
||||
// Process private headers after public headers so that they take
|
||||
// precedence if a file is listed in both.
|
||||
if (cmValue files = this->GetProperty("PRIVATE_HEADER")) {
|
||||
std::vector<std::string> relFiles = cmExpandedList(*files);
|
||||
for (std::string const& relFile : relFiles) {
|
||||
cmList relFiles{ *files };
|
||||
for (auto const& relFile : relFiles) {
|
||||
if (cmSourceFile* sf = this->Makefile->GetSource(relFile)) {
|
||||
SourceFileFlags& flags = this->SourceFlagsMap[sf];
|
||||
flags.MacFolder = "PrivateHeaders";
|
||||
@@ -5615,8 +5616,8 @@ void cmGeneratorTarget::ConstructSourceFileFlags() const
|
||||
|
||||
// Mark sources listed as resources.
|
||||
if (cmValue files = this->GetProperty("RESOURCE")) {
|
||||
std::vector<std::string> relFiles = cmExpandedList(*files);
|
||||
for (std::string const& relFile : relFiles) {
|
||||
cmList relFiles{ *files };
|
||||
for (auto const& relFile : relFiles) {
|
||||
if (cmSourceFile* sf = this->Makefile->GetSource(relFile)) {
|
||||
SourceFileFlags& flags = this->SourceFlagsMap[sf];
|
||||
flags.MacFolder = "";
|
||||
@@ -5757,7 +5758,7 @@ void checkPropertyConsistency(cmGeneratorTarget const* depender,
|
||||
return;
|
||||
}
|
||||
|
||||
std::vector<std::string> props = cmExpandedList(*prop);
|
||||
cmList props{ *prop };
|
||||
std::string pdir =
|
||||
cmStrCat(cmSystemTools::GetCMakeRoot(), "/Help/prop_tgt/");
|
||||
|
||||
@@ -6799,10 +6800,10 @@ void cmGeneratorTarget::ExpandLinkItems(
|
||||
entry.Backtrace);
|
||||
std::unique_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(entry.Value);
|
||||
cge->SetEvaluateForBuildsystem(true);
|
||||
std::vector<std::string> libs = cmExpandedList(
|
||||
cge->Evaluate(this->LocalGenerator, config, headTarget, &dagChecker,
|
||||
this, headTarget->LinkerLanguage));
|
||||
for (std::string const& lib : libs) {
|
||||
cmList libs{ cge->Evaluate(this->LocalGenerator, config, headTarget,
|
||||
&dagChecker, this,
|
||||
headTarget->LinkerLanguage) };
|
||||
for (auto const& lib : libs) {
|
||||
if (cm::optional<cmLinkItem> maybeItem = this->LookupLinkItem(
|
||||
lib, cge->GetBacktrace(), &scope,
|
||||
field == LinkInterfaceField::Libraries ? LookupSelf::No
|
||||
@@ -7466,10 +7467,10 @@ std::vector<ValueType> computeImplicitLanguageTargets(
|
||||
currentTarget->GetRuntimeLinkLibrary(lang, config);
|
||||
if (cmValue runtimeLinkOptions = currentTarget->Makefile->GetDefinition(
|
||||
"CMAKE_" + lang + "_RUNTIME_LIBRARIES_" + runtimeLibrary)) {
|
||||
std::vector<std::string> libsVec = cmExpandedList(*runtimeLinkOptions);
|
||||
result.reserve(libsVec.size());
|
||||
cmList libsList{ *runtimeLinkOptions };
|
||||
result.reserve(libsList.size());
|
||||
|
||||
for (std::string const& i : libsVec) {
|
||||
for (auto const& i : libsList) {
|
||||
cmGeneratorTarget::TargetOrString resolved =
|
||||
currentTarget->ResolveTargetReference(i, lg);
|
||||
if (resolved.Target) {
|
||||
@@ -7550,9 +7551,9 @@ const cmLinkInterface* cmGeneratorTarget::GetImportLinkInterface(
|
||||
this->ExpandLinkItems(info->LibrariesProp, cmMakeRange(info->Libraries),
|
||||
config, headTarget, interfaceFor,
|
||||
LinkInterfaceField::Libraries, iface);
|
||||
std::vector<std::string> deps = cmExpandedList(info->SharedDeps);
|
||||
cmList deps{ info->SharedDeps };
|
||||
LookupLinkItemScope scope{ this->LocalGenerator };
|
||||
for (std::string const& dep : deps) {
|
||||
for (auto const& dep : deps) {
|
||||
if (cm::optional<cmLinkItem> maybeItem = this->LookupLinkItem(
|
||||
dep, cmListFileBacktrace(), &scope, LookupSelf::No)) {
|
||||
iface.SharedDeps.emplace_back(std::move(*maybeItem));
|
||||
@@ -7873,8 +7874,8 @@ void cmGeneratorTarget::GetObjectLibrariesCMP0026(
|
||||
// behavior of CMP0024 and CMP0026 only.
|
||||
cmBTStringRange rng = this->Target->GetSourceEntries();
|
||||
for (auto const& entry : rng) {
|
||||
std::vector<std::string> files = cmExpandedList(entry.Value);
|
||||
for (std::string const& li : files) {
|
||||
cmList files{ entry.Value };
|
||||
for (auto const& li : files) {
|
||||
if (cmHasLiteralPrefix(li, "$<TARGET_OBJECTS:") && li.back() == '>') {
|
||||
std::string objLibName = li.substr(17, li.size() - 18);
|
||||
|
||||
@@ -8636,7 +8637,7 @@ bool cmGeneratorTarget::AddHeaderSetVerification()
|
||||
const bool all = verifyValue.IsEmpty();
|
||||
std::set<std::string> verifySet;
|
||||
if (!all) {
|
||||
auto verifyList = cmExpandedList(verifyValue);
|
||||
cmList verifyList{ verifyValue };
|
||||
verifySet.insert(verifyList.begin(), verifyList.end());
|
||||
}
|
||||
|
||||
@@ -8649,7 +8650,7 @@ bool cmGeneratorTarget::AddHeaderSetVerification()
|
||||
|
||||
std::set<cmFileSet*> fileSets;
|
||||
for (auto const& entry : interfaceFileSetEntries) {
|
||||
for (auto const& name : cmExpandedList(entry.Value)) {
|
||||
for (auto const& name : cmList{ entry.Value }) {
|
||||
if (all || verifySet.count(name)) {
|
||||
fileSets.insert(this->Target->GetFileSet(name));
|
||||
verifySet.erase(name);
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmGlobalGhsMultiGenerator.h"
|
||||
#include "cmLinkLineComputer.h" // IWYU pragma: keep
|
||||
#include "cmList.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmLocalGhsMultiGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
@@ -484,7 +485,7 @@ void cmGhsMultiTargetGenerator::WriteSourceProperty(
|
||||
{
|
||||
cmValue prop = sf->GetProperty(propName);
|
||||
if (prop) {
|
||||
std::vector<std::string> list = cmExpandedList(*prop);
|
||||
cmList list{ *prop };
|
||||
for (const std::string& p : list) {
|
||||
fout << " " << propFlag << p << '\n';
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
#include "cmInstallGenerator.h"
|
||||
#include "cmInstallRuntimeDependencySet.h"
|
||||
#include "cmLinkLineComputer.h"
|
||||
#include "cmList.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMSVC60LinkLineComputer.h"
|
||||
#include "cmMakefile.h"
|
||||
@@ -670,7 +671,7 @@ void cmGlobalGenerator::EnableLanguage(
|
||||
mf->GetState()->SetInTopLevelIncludes(true);
|
||||
std::string includes =
|
||||
mf->GetSafeDefinition("CMAKE_PROJECT_TOP_LEVEL_INCLUDES");
|
||||
std::vector<std::string> includesList = cmExpandedList(includes);
|
||||
cmList includesList{ includes };
|
||||
for (std::string const& setupFile : includesList) {
|
||||
std::string absSetupFile = cmSystemTools::CollapseFullPath(
|
||||
setupFile, mf->GetCurrentSourceDirectory());
|
||||
@@ -1234,7 +1235,7 @@ void cmGlobalGenerator::SetLanguageEnabledMaps(const std::string& l,
|
||||
std::string ignoreExtensionsVar =
|
||||
std::string("CMAKE_") + std::string(l) + std::string("_IGNORE_EXTENSIONS");
|
||||
std::string ignoreExts = mf->GetSafeDefinition(ignoreExtensionsVar);
|
||||
std::vector<std::string> extensionList = cmExpandedList(ignoreExts);
|
||||
cmList extensionList{ ignoreExts };
|
||||
for (std::string const& i : extensionList) {
|
||||
this->IgnoreExtensions[i] = true;
|
||||
}
|
||||
@@ -1246,7 +1247,7 @@ void cmGlobalGenerator::FillExtensionToLanguageMap(const std::string& l,
|
||||
std::string extensionsVar = std::string("CMAKE_") + std::string(l) +
|
||||
std::string("_SOURCE_FILE_EXTENSIONS");
|
||||
const std::string& exts = mf->GetSafeDefinition(extensionsVar);
|
||||
std::vector<std::string> extensionList = cmExpandedList(exts);
|
||||
cmList extensionList{ exts };
|
||||
for (std::string const& i : extensionList) {
|
||||
this->ExtensionToLanguage[i] = l;
|
||||
}
|
||||
@@ -1887,10 +1888,9 @@ void cmGlobalGenerator::FinalizeTargetConfiguration()
|
||||
"CMAKE_" + li + "_STANDARD_INCLUDE_DIRECTORIES";
|
||||
std::string const& standardIncludesStr =
|
||||
mf->GetSafeDefinition(standardIncludesVar);
|
||||
std::vector<std::string> standardIncludesVec =
|
||||
cmExpandedList(standardIncludesStr);
|
||||
standardIncludesSet.insert(standardIncludesVec.begin(),
|
||||
standardIncludesVec.end());
|
||||
cmList standardIncludesList{ standardIncludesStr };
|
||||
standardIncludesSet.insert(standardIncludesList.begin(),
|
||||
standardIncludesList.end());
|
||||
}
|
||||
mf->AddSystemIncludeDirectories(standardIncludesSet);
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmGhsMultiGpj.h"
|
||||
#include "cmList.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmLocalGhsMultiGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
@@ -531,7 +532,7 @@ void cmGlobalGhsMultiGenerator::WriteMacros(std::ostream& fout,
|
||||
fout << "macro PROJ_NAME=" << root->GetProjectName() << '\n';
|
||||
cmValue ghsGpjMacros = root->GetMakefile()->GetDefinition("GHS_GPJ_MACROS");
|
||||
if (ghsGpjMacros) {
|
||||
std::vector<std::string> expandedList = cmExpandedList(*ghsGpjMacros);
|
||||
cmList expandedList{ *ghsGpjMacros };
|
||||
for (std::string const& arg : expandedList) {
|
||||
fout << "macro " << arg << '\n';
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
#include "cmGeneratorExpression.h"
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmLocalVisualStudio7Generator.h"
|
||||
#include "cmMakefile.h"
|
||||
@@ -580,7 +581,7 @@ void cmGlobalVisualStudio7Generator::WriteSLNGlobalSections(
|
||||
}
|
||||
fout << "\tGlobalSection(" << name << ") = " << sectionType << "\n";
|
||||
cmValue p = root->GetMakefile()->GetProperty(it);
|
||||
std::vector<std::string> keyValuePairs = cmExpandedList(p ? *p : "");
|
||||
cmList keyValuePairs{ *p };
|
||||
for (std::string const& itPair : keyValuePairs) {
|
||||
const std::string::size_type posEqual = itPair.find('=');
|
||||
if (posEqual != std::string::npos) {
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmGlobalGeneratorFactory.h"
|
||||
#include "cmLinkItem.h"
|
||||
#include "cmList.h"
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmLocalXCodeGenerator.h"
|
||||
@@ -1027,7 +1028,7 @@ cmXCodeObject* cmGlobalXCodeGenerator::CreateXCodeSourceFile(
|
||||
cmValue extraFileAttributes = sf->GetProperty("XCODE_FILE_ATTRIBUTES");
|
||||
if (extraFileAttributes) {
|
||||
// Expand the list of attributes.
|
||||
std::vector<std::string> attributes = cmExpandedList(*extraFileAttributes);
|
||||
cmList attributes{ *extraFileAttributes };
|
||||
|
||||
// Store the attributes.
|
||||
for (const auto& attribute : attributes) {
|
||||
@@ -1171,7 +1172,7 @@ template <class T>
|
||||
std::string GetTargetObjectDirArch(T const& target,
|
||||
const std::string& defaultVal)
|
||||
{
|
||||
auto archs = cmExpandedList(target.GetSafeProperty("OSX_ARCHITECTURES"));
|
||||
cmList archs{ target.GetSafeProperty("OSX_ARCHITECTURES") };
|
||||
if (archs.size() > 1) {
|
||||
return "$(CURRENT_ARCH)";
|
||||
} else if (archs.size() == 1) {
|
||||
@@ -3127,8 +3128,8 @@ cmXCodeObject* cmGlobalXCodeGenerator::CreateUtilityTarget(
|
||||
std::string cmGlobalXCodeGenerator::AddConfigurations(cmXCodeObject* target,
|
||||
cmGeneratorTarget* gtgt)
|
||||
{
|
||||
std::vector<std::string> const configVector = cmExpandedList(
|
||||
this->CurrentMakefile->GetRequiredDefinition("CMAKE_CONFIGURATION_TYPES"));
|
||||
cmList const configList{ this->CurrentMakefile->GetRequiredDefinition(
|
||||
"CMAKE_CONFIGURATION_TYPES") };
|
||||
cmXCodeObject* configlist =
|
||||
this->CreateObject(cmXCodeObject::XCConfigurationList);
|
||||
cmXCodeObject* buildConfigurations =
|
||||
@@ -3140,7 +3141,7 @@ std::string cmGlobalXCodeGenerator::AddConfigurations(cmXCodeObject* target,
|
||||
configlist->SetComment(comment);
|
||||
target->AddAttribute("buildConfigurationList",
|
||||
this->CreateObjectReference(configlist));
|
||||
for (auto const& i : configVector) {
|
||||
for (auto const& i : configList) {
|
||||
cmXCodeObject* config =
|
||||
this->CreateObject(cmXCodeObject::XCBuildConfiguration);
|
||||
buildConfigurations->AddObject(config);
|
||||
@@ -3153,12 +3154,12 @@ std::string cmGlobalXCodeGenerator::AddConfigurations(cmXCodeObject* target,
|
||||
|
||||
this->CreateTargetXCConfigSettings(gtgt, config, i);
|
||||
}
|
||||
if (!configVector.empty()) {
|
||||
if (!configList.empty()) {
|
||||
configlist->AddAttribute("defaultConfigurationName",
|
||||
this->CreateString(configVector[0]));
|
||||
this->CreateString(configList[0]));
|
||||
configlist->AddAttribute("defaultConfigurationIsVisible",
|
||||
this->CreateString("0"));
|
||||
return configVector[0];
|
||||
return configList[0];
|
||||
}
|
||||
return "";
|
||||
}
|
||||
@@ -4029,7 +4030,7 @@ void cmGlobalXCodeGenerator::AddEmbeddedObjects(
|
||||
this->CreateString("0"));
|
||||
cmXCodeObject* buildFiles = this->CreateObject(cmXCodeObject::OBJECT_LIST);
|
||||
// Collect all embedded frameworks and dylibs and add them to build phase
|
||||
std::vector<std::string> relFiles = cmExpandedList(*files);
|
||||
cmList relFiles{ *files };
|
||||
for (std::string const& relFile : relFiles) {
|
||||
cmXCodeObject* buildFile{ nullptr };
|
||||
std::string filePath = relFile;
|
||||
@@ -5008,7 +5009,7 @@ void cmGlobalXCodeGenerator::AppendDefines(BuildObjectListOrString& defs,
|
||||
}
|
||||
|
||||
// Expand the list of definitions.
|
||||
std::vector<std::string> defines = cmExpandedList(defines_list);
|
||||
cmList defines{ defines_list };
|
||||
|
||||
// Store the definitions in the string.
|
||||
this->AppendDefines(defs, defines, dflag);
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmLinkItem.h"
|
||||
#include "cmList.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmState.h"
|
||||
@@ -255,9 +256,8 @@ void cmGraphVizWriter::ReadSettings(
|
||||
|
||||
this->TargetsToIgnoreRegex.clear();
|
||||
if (!ignoreTargetsRegexes.empty()) {
|
||||
std::vector<std::string> ignoreTargetsRegExVector =
|
||||
cmExpandedList(ignoreTargetsRegexes);
|
||||
for (std::string const& currentRegexString : ignoreTargetsRegExVector) {
|
||||
cmList ignoreTargetsRegExList{ ignoreTargetsRegexes };
|
||||
for (std::string const& currentRegexString : ignoreTargetsRegExList) {
|
||||
cmsys::RegularExpression currentRegex;
|
||||
if (!currentRegex.compile(currentRegexString)) {
|
||||
std::cerr << "Could not compile bad regex \"" << currentRegexString
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
#include "cmInstallRuntimeDependencySetGenerator.h"
|
||||
#include "cmInstallScriptGenerator.h"
|
||||
#include "cmInstallTargetGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
#include "cmPolicies.h"
|
||||
@@ -1079,7 +1080,7 @@ bool HandleTargetsMode(std::vector<std::string> const& args,
|
||||
if (createInstallGeneratorsForTargetFileSets && !namelinkOnly) {
|
||||
cmValue files = target.GetProperty("PRIVATE_HEADER");
|
||||
if (cmNonempty(files)) {
|
||||
std::vector<std::string> relFiles = cmExpandedList(*files);
|
||||
cmList relFiles{ *files };
|
||||
std::vector<std::string> absFiles;
|
||||
if (!helper.MakeFilesFullPath("PRIVATE_HEADER", relFiles, absFiles)) {
|
||||
return false;
|
||||
@@ -1101,7 +1102,7 @@ bool HandleTargetsMode(std::vector<std::string> const& args,
|
||||
|
||||
files = target.GetProperty("PUBLIC_HEADER");
|
||||
if (cmNonempty(files)) {
|
||||
std::vector<std::string> relFiles = cmExpandedList(*files);
|
||||
cmList relFiles{ *files };
|
||||
std::vector<std::string> absFiles;
|
||||
if (!helper.MakeFilesFullPath("PUBLIC_HEADER", relFiles, absFiles)) {
|
||||
return false;
|
||||
@@ -1123,7 +1124,7 @@ bool HandleTargetsMode(std::vector<std::string> const& args,
|
||||
|
||||
files = target.GetProperty("RESOURCE");
|
||||
if (cmNonempty(files)) {
|
||||
std::vector<std::string> relFiles = cmExpandedList(*files);
|
||||
cmList relFiles{ *files };
|
||||
std::vector<std::string> absFiles;
|
||||
if (!helper.MakeFilesFullPath("RESOURCE", relFiles, absFiles)) {
|
||||
return false;
|
||||
@@ -1145,8 +1146,8 @@ bool HandleTargetsMode(std::vector<std::string> const& args,
|
||||
if (!namelinkOnly) {
|
||||
for (std::size_t i = 0; i < fileSetArgs.size(); i++) {
|
||||
if (auto* fileSet = target.GetFileSet(fileSetArgs[i].GetFileSet())) {
|
||||
auto interfaceFileSetEntries = cmExpandedList(target.GetSafeProperty(
|
||||
cmTarget::GetInterfaceFileSetsPropertyName(fileSet->GetType())));
|
||||
cmList interfaceFileSetEntries{ target.GetSafeProperty(
|
||||
cmTarget::GetInterfaceFileSetsPropertyName(fileSet->GetType())) };
|
||||
if (std::find(interfaceFileSetEntries.begin(),
|
||||
interfaceFileSetEntries.end(),
|
||||
fileSetArgs[i].GetFileSet()) !=
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
|
||||
#include "cmsys/RegularExpression.hxx"
|
||||
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmRuntimeDependencyArchive.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmUVProcessChain.h"
|
||||
|
||||
@@ -34,7 +34,7 @@ bool cmLDConfigLDConfigTool::GetLDConfigPaths(std::vector<std::string>& paths)
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<std::string> ldConfigCommand = cmExpandedList(ldConfigPath);
|
||||
cmList ldConfigCommand{ ldConfigPath };
|
||||
ldConfigCommand.emplace_back("-v");
|
||||
ldConfigCommand.emplace_back("-N"); // Don't rebuild the cache.
|
||||
ldConfigCommand.emplace_back("-X"); // Don't update links.
|
||||
|
||||
@@ -11,10 +11,10 @@
|
||||
# include <cmsys/Encoding.hxx>
|
||||
#endif
|
||||
|
||||
#include "cmList.h"
|
||||
#include "cmListFileLexer.h"
|
||||
#include "cmMessageType.h"
|
||||
#include "cmMessenger.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
|
||||
struct cmListFileParser
|
||||
@@ -496,10 +496,11 @@ std::ostream& operator<<(std::ostream& os, BT<std::string> const& s)
|
||||
}
|
||||
|
||||
std::vector<BT<std::string>> cmExpandListWithBacktrace(
|
||||
std::string const& list, cmListFileBacktrace const& bt, bool emptyArgs)
|
||||
std::string const& list, cmListFileBacktrace const& bt,
|
||||
cmList::EmptyElements emptyArgs)
|
||||
{
|
||||
std::vector<BT<std::string>> result;
|
||||
std::vector<std::string> tmp = cmExpandedList(list, emptyArgs);
|
||||
cmList tmp{ list, emptyArgs };
|
||||
result.reserve(tmp.size());
|
||||
for (std::string& i : tmp) {
|
||||
result.emplace_back(std::move(i), bt);
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include <cm/optional>
|
||||
|
||||
#include "cmConstStack.h"
|
||||
#include "cmList.h"
|
||||
#include "cmSystemTools.h"
|
||||
|
||||
/** \class cmListFileCache
|
||||
@@ -232,7 +233,7 @@ public:
|
||||
std::vector<BT<std::string>> cmExpandListWithBacktrace(
|
||||
std::string const& list,
|
||||
cmListFileBacktrace const& bt = cmListFileBacktrace(),
|
||||
bool emptyArgs = false);
|
||||
cmList::EmptyElements emptyArgs = cmList::EmptyElements::No);
|
||||
|
||||
struct cmListFile
|
||||
{
|
||||
|
||||
+14
-13
@@ -38,6 +38,7 @@
|
||||
#include "cmInstallTargetGenerator.h"
|
||||
#include "cmLinkLineComputer.h"
|
||||
#include "cmLinkLineDeviceComputer.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmRange.h"
|
||||
#include "cmRulePlaceholderExpander.h"
|
||||
@@ -347,7 +348,7 @@ void cmLocalGenerator::GenerateTestFiles()
|
||||
|
||||
cmValue testIncludeFiles = this->Makefile->GetProperty("TEST_INCLUDE_FILES");
|
||||
if (testIncludeFiles) {
|
||||
std::vector<std::string> includesList = cmExpandedList(*testIncludeFiles);
|
||||
cmList includesList{ *testIncludeFiles };
|
||||
for (std::string const& i : includesList) {
|
||||
fout << "include(\"" << i << "\")\n";
|
||||
}
|
||||
@@ -1064,9 +1065,9 @@ void cmLocalGenerator::AddCompileOptions(std::vector<BT<std::string>>& flags,
|
||||
std::string isJMCEnabled =
|
||||
cmGeneratorExpression::Evaluate(*jmcExprGen, this, config);
|
||||
if (cmIsOn(isJMCEnabled)) {
|
||||
std::vector<std::string> optVec = cmExpandedList(*jmc);
|
||||
cmList optList{ *jmc };
|
||||
std::string jmcFlags;
|
||||
this->AppendCompileOptions(jmcFlags, optVec);
|
||||
this->AppendCompileOptions(jmcFlags, optList);
|
||||
if (!jmcFlags.empty()) {
|
||||
flags.emplace_back(std::move(jmcFlags));
|
||||
}
|
||||
@@ -1954,8 +1955,8 @@ void cmLocalGenerator::AddLanguageFlags(std::string& flags,
|
||||
cmValue opt =
|
||||
target->Target->GetMakefile()->GetDefinition(optionFlagDef);
|
||||
if (opt) {
|
||||
std::vector<std::string> optVec = cmExpandedList(*opt);
|
||||
for (std::string const& i : optVec) {
|
||||
cmList optList{ *opt };
|
||||
for (std::string const& i : optList) {
|
||||
this->AppendFlagEscape(flags, i);
|
||||
}
|
||||
}
|
||||
@@ -2426,7 +2427,7 @@ void cmLocalGenerator::AddPositionIndependentFlags(std::string& flags,
|
||||
cmStrCat("CMAKE_", lang, "_COMPILE_OPTIONS_PIC"));
|
||||
}
|
||||
if (!picFlags.empty()) {
|
||||
std::vector<std::string> options = cmExpandedList(picFlags);
|
||||
cmList options{ picFlags };
|
||||
for (std::string const& o : options) {
|
||||
this->AppendFlagEscape(flags, o);
|
||||
}
|
||||
@@ -3163,7 +3164,7 @@ void cmLocalGenerator::AppendIPOLinkerFlags(std::string& flags,
|
||||
return;
|
||||
}
|
||||
|
||||
std::vector<std::string> flagsList = cmExpandedList(*rawFlagsList);
|
||||
cmList flagsList{ *rawFlagsList };
|
||||
for (std::string const& o : flagsList) {
|
||||
this->AppendFlagEscape(flags, o);
|
||||
}
|
||||
@@ -3198,7 +3199,7 @@ void cmLocalGenerator::AppendPositionIndependentLinkerFlags(
|
||||
return;
|
||||
}
|
||||
|
||||
std::vector<std::string> flagsList = cmExpandedList(pieFlags);
|
||||
cmList flagsList{ pieFlags };
|
||||
for (const auto& flag : flagsList) {
|
||||
this->AppendFlagEscape(flags, flag);
|
||||
}
|
||||
@@ -3264,7 +3265,7 @@ void cmLocalGenerator::AppendCompileOptions(std::string& options,
|
||||
}
|
||||
|
||||
// Expand the list of options.
|
||||
std::vector<std::string> options_vec = cmExpandedList(options_list);
|
||||
cmList options_vec{ options_list };
|
||||
this->AppendCompileOptions(options, options_vec, regex);
|
||||
}
|
||||
|
||||
@@ -3322,7 +3323,7 @@ void cmLocalGenerator::AppendIncludeDirectories(
|
||||
}
|
||||
|
||||
// Expand the list of includes.
|
||||
std::vector<std::string> includes_vec = cmExpandedList(includes_list);
|
||||
cmList includes_vec{ includes_list };
|
||||
this->AppendIncludeDirectories(includes, includes_vec, sourceFile);
|
||||
}
|
||||
|
||||
@@ -3454,7 +3455,7 @@ void cmLocalGenerator::AppendFeatureOptions(std::string& flags,
|
||||
cmValue optionList = this->Makefile->GetDefinition(
|
||||
cmStrCat("CMAKE_", lang, "_COMPILE_OPTIONS_", feature));
|
||||
if (optionList) {
|
||||
std::vector<std::string> options = cmExpandedList(*optionList);
|
||||
cmList options{ *optionList };
|
||||
for (std::string const& o : options) {
|
||||
this->AppendFlagEscape(flags, o);
|
||||
}
|
||||
@@ -4500,11 +4501,11 @@ cmLocalGenerator::MakeCustomCommandGenerators(cmCustomCommand const& cc,
|
||||
std::vector<std::string> cmLocalGenerator::ExpandCustomCommandOutputPaths(
|
||||
cmCompiledGeneratorExpression const& cge, std::string const& config)
|
||||
{
|
||||
std::vector<std::string> paths = cmExpandedList(cge.Evaluate(this, config));
|
||||
cmList paths{ cge.Evaluate(this, config) };
|
||||
for (std::string& p : paths) {
|
||||
p = cmSystemTools::CollapseFullPath(p, this->GetCurrentBinaryDirectory());
|
||||
}
|
||||
return paths;
|
||||
return std::move(paths.data());
|
||||
}
|
||||
|
||||
std::vector<std::string> cmLocalGenerator::ExpandCustomCommandOutputGenex(
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmGlobalNinjaGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
@@ -301,7 +302,7 @@ void cmLocalNinjaGenerator::WritePools(std::ostream& os)
|
||||
if (jobpools) {
|
||||
cmGlobalNinjaGenerator::WriteComment(
|
||||
os, "Pools defined by global property JOB_POOLS");
|
||||
std::vector<std::string> pools = cmExpandedList(*jobpools);
|
||||
cmList pools{ *jobpools };
|
||||
for (std::string const& pool : pools) {
|
||||
const std::string::size_type eq = pool.find('=');
|
||||
unsigned int jobs;
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmGlobalUnixMakefileGenerator3.h"
|
||||
#include "cmList.h"
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
@@ -1434,7 +1435,7 @@ bool cmLocalUnixMakefileGenerator3::UpdateDependencies(
|
||||
this->Makefile->GetSafeDefinition("CMAKE_DEPENDS_DEPENDENCY_FILES");
|
||||
if (!depends.empty()) {
|
||||
// dependencies are managed by compiler
|
||||
auto depFiles = cmExpandedList(depends, true);
|
||||
cmList depFiles{ depends, cmList::EmptyElements::Yes };
|
||||
std::string const internalDepFile =
|
||||
targetDir + "/compiler_depend.internal";
|
||||
std::string const depFile = targetDir + "/compiler_depend.make";
|
||||
@@ -1556,8 +1557,7 @@ bool cmLocalUnixMakefileGenerator3::ScanDependencies(
|
||||
this->WriteDisclaimer(internalRuleFileStream);
|
||||
|
||||
// for each language we need to scan, scan it
|
||||
std::vector<std::string> langs =
|
||||
cmExpandedList(mf->GetSafeDefinition("CMAKE_DEPENDS_LANGUAGES"));
|
||||
cmList langs{ mf->GetSafeDefinition("CMAKE_DEPENDS_LANGUAGES") };
|
||||
for (std::string const& lang : langs) {
|
||||
// construct the checker
|
||||
// Create the scanner for this language
|
||||
@@ -1602,7 +1602,7 @@ void cmLocalUnixMakefileGenerator3::CheckMultipleOutputs(bool verbose)
|
||||
}
|
||||
|
||||
// Convert the string to a list and preserve empty entries.
|
||||
std::vector<std::string> pairs = cmExpandedList(*pairs_string, true);
|
||||
cmList pairs{ *pairs_string, cmList::EmptyElements::Yes };
|
||||
for (auto i = pairs.begin(); i != pairs.end() && (i + 1) != pairs.end();) {
|
||||
const std::string& depender = *i++;
|
||||
const std::string& dependee = *i++;
|
||||
@@ -1822,7 +1822,7 @@ void cmLocalUnixMakefileGenerator3::ClearDependencies(cmMakefile* mf,
|
||||
if (!infoDef) {
|
||||
return;
|
||||
}
|
||||
std::vector<std::string> files = cmExpandedList(*infoDef);
|
||||
cmList files{ *infoDef };
|
||||
|
||||
// Each depend information file corresponds to a target. Clear the
|
||||
// dependencies for that target.
|
||||
@@ -1863,7 +1863,7 @@ void cmLocalUnixMakefileGenerator3::ClearDependencies(cmMakefile* mf,
|
||||
cmSystemTools::Touch(DepTimestamp.GenericString(), true);
|
||||
|
||||
// clear the dependencies files generated by the compiler
|
||||
std::vector<std::string> dependencies = cmExpandedList(depsFiles, true);
|
||||
cmList dependencies{ depsFiles, cmList::EmptyElements::Yes };
|
||||
cmDependsCompiler depsManager;
|
||||
depsManager.SetVerbose(verbose);
|
||||
depsManager.ClearDependencies(dependencies);
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmGlobalVisualStudio7Generator.h"
|
||||
#include "cmGlobalVisualStudioGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmOutputConverter.h"
|
||||
@@ -1576,12 +1577,12 @@ cmLocalVisualStudio7GeneratorFCInfo::cmLocalVisualStudio7GeneratorFCInfo(
|
||||
|
||||
// Check for extra object-file dependencies.
|
||||
if (cmValue deps = sf.GetProperty("OBJECT_DEPENDS")) {
|
||||
std::vector<std::string> depends = cmExpandedList(*deps);
|
||||
const char* sep = "";
|
||||
for (const std::string& d : depends) {
|
||||
fc.AdditionalDeps += sep;
|
||||
fc.AdditionalDeps += lg->ConvertToXMLOutputPath(d);
|
||||
sep = ";";
|
||||
cmList depends{ *deps };
|
||||
if (!depends.empty()) {
|
||||
for (std::string& d : depends) {
|
||||
d = lg->ConvertToXMLOutputPath(d);
|
||||
}
|
||||
fc.AdditionalDeps += depends.to_string();
|
||||
needfc = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmInstallGenerator.h" // IWYU pragma: keep
|
||||
#include "cmInstallSubdirectoryGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMessageType.h"
|
||||
@@ -1448,15 +1449,13 @@ bool cmMakefile::ParseDefineFlag(std::string const& def, bool remove)
|
||||
if (remove) {
|
||||
if (cmValue cdefs = this->GetProperty("COMPILE_DEFINITIONS")) {
|
||||
// Expand the list.
|
||||
std::vector<std::string> defs = cmExpandedList(*cdefs);
|
||||
cmList defs{ *cdefs };
|
||||
|
||||
// Recompose the list without the definition.
|
||||
auto defEnd = std::remove(defs.begin(), defs.end(), define);
|
||||
auto defBegin = defs.begin();
|
||||
std::string ndefs = cmJoin(cmMakeRange(defBegin, defEnd), ";");
|
||||
defs.remove_items({ define });
|
||||
|
||||
// Store the new list.
|
||||
this->SetProperty("COMPILE_DEFINITIONS", ndefs);
|
||||
this->SetProperty("COMPILE_DEFINITIONS", defs.to_string());
|
||||
}
|
||||
} else {
|
||||
// Append the definition to the directory property.
|
||||
@@ -2064,7 +2063,7 @@ void cmMakefile::AddGlobalLinkInformation(cmTarget& target)
|
||||
}
|
||||
|
||||
if (cmValue linkLibsProp = this->GetProperty("LINK_LIBRARIES")) {
|
||||
std::vector<std::string> linkLibs = cmExpandedList(*linkLibsProp);
|
||||
cmList linkLibs{ *linkLibsProp };
|
||||
|
||||
for (auto j = linkLibs.begin(); j != linkLibs.end(); ++j) {
|
||||
std::string libraryName = *j;
|
||||
@@ -2378,7 +2377,7 @@ void cmMakefile::ExpandVariablesCMP0019()
|
||||
}
|
||||
|
||||
if (cmValue linkLibsProp = this->GetProperty("LINK_LIBRARIES")) {
|
||||
std::vector<std::string> linkLibs = cmExpandedList(*linkLibsProp);
|
||||
cmList linkLibs{ *linkLibsProp };
|
||||
|
||||
for (auto l = linkLibs.begin(); l != linkLibs.end(); ++l) {
|
||||
std::string libName = *l;
|
||||
@@ -3406,7 +3405,7 @@ bool cmMakefile::ExpandArguments(
|
||||
if (i.Delim == cmListFileArgument::Quoted) {
|
||||
outArgs.emplace_back(value, true);
|
||||
} else {
|
||||
std::vector<std::string> stringArgs = cmExpandedList(value);
|
||||
cmList stringArgs{ value };
|
||||
for (std::string const& stringArg : stringArgs) {
|
||||
outArgs.emplace_back(stringArg, false);
|
||||
}
|
||||
@@ -3812,7 +3811,7 @@ std::string cmMakefile::GetModulesFile(const std::string& filename,
|
||||
// Always search in CMAKE_MODULE_PATH:
|
||||
cmValue cmakeModulePath = this->GetDefinition("CMAKE_MODULE_PATH");
|
||||
if (cmakeModulePath) {
|
||||
std::vector<std::string> modulePath = cmExpandedList(*cmakeModulePath);
|
||||
cmList modulePath{ *cmakeModulePath };
|
||||
|
||||
// Look through the possible module directories.
|
||||
for (std::string itempl : modulePath) {
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "cmGlobalUnixMakefileGenerator3.h"
|
||||
#include "cmLinkLineComputer.h"
|
||||
#include "cmLinkLineDeviceComputer.h"
|
||||
#include "cmList.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmLocalUnixMakefileGenerator3.h"
|
||||
#include "cmMakefile.h"
|
||||
@@ -965,7 +966,7 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules(
|
||||
this->GeneratorTarget->HasImportLibrary(this->GetConfigName())) {
|
||||
auto genStubsRule =
|
||||
this->Makefile->GetDefinition("CMAKE_CREATE_TEXT_STUBS");
|
||||
auto genStubs_commands = cmExpandedList(genStubsRule);
|
||||
cmList genStubs_commands{ genStubsRule };
|
||||
|
||||
std::string TBDFullPath =
|
||||
cmStrCat(outpathImp, this->TargetNames.ImportOutput);
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "cmGlobalCommonGenerator.h"
|
||||
#include "cmGlobalUnixMakefileGenerator3.h"
|
||||
#include "cmLinkLineComputer.h" // IWYU pragma: keep
|
||||
#include "cmList.h"
|
||||
#include "cmLocalCommonGenerator.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmLocalUnixMakefileGenerator3.h"
|
||||
@@ -1200,7 +1201,7 @@ void cmMakefileTargetGenerator::WriteObjectRuleFiles(
|
||||
// If compiler launcher was specified and not consumed above, it
|
||||
// goes to the beginning of the command line.
|
||||
if (!compileCommands.empty() && !compilerLauncher.empty()) {
|
||||
std::vector<std::string> args = cmExpandedList(compilerLauncher, true);
|
||||
cmList args{ compilerLauncher, cmList::EmptyElements::Yes };
|
||||
if (!args.empty()) {
|
||||
args[0] = this->LocalGenerator->ConvertToOutputFormat(
|
||||
args[0], cmOutputConverter::SHELL);
|
||||
@@ -1240,7 +1241,7 @@ void cmMakefileTargetGenerator::WriteObjectRuleFiles(
|
||||
const auto& extraCommands = this->Makefile->GetSafeDefinition(
|
||||
cmStrCat("CMAKE_", lang, "_DEPENDS_EXTRA_COMMANDS"));
|
||||
if (!extraCommands.empty()) {
|
||||
auto commandList = cmExpandedList(extraCommands);
|
||||
cmList commandList{ extraCommands };
|
||||
compileCommands.insert(compileCommands.end(), commandList.cbegin(),
|
||||
commandList.cend());
|
||||
}
|
||||
@@ -1341,8 +1342,7 @@ void cmMakefileTargetGenerator::WriteObjectRuleFiles(
|
||||
cmStrCat("CMAKE_", lang, "_CREATE_PREPROCESSED_SOURCE");
|
||||
if (cmValue preprocessRule =
|
||||
this->Makefile->GetDefinition(preprocessRuleVar)) {
|
||||
std::vector<std::string> preprocessCommands =
|
||||
cmExpandedList(*preprocessRule);
|
||||
cmList preprocessCommands{ *preprocessRule };
|
||||
|
||||
std::string shellObjI = this->LocalGenerator->ConvertToOutputFormat(
|
||||
objI, cmOutputConverter::SHELL);
|
||||
@@ -1386,8 +1386,7 @@ void cmMakefileTargetGenerator::WriteObjectRuleFiles(
|
||||
cmStrCat("CMAKE_", lang, "_CREATE_ASSEMBLY_SOURCE");
|
||||
if (cmValue assemblyRule =
|
||||
this->Makefile->GetDefinition(assemblyRuleVar)) {
|
||||
std::vector<std::string> assemblyCommands =
|
||||
cmExpandedList(*assemblyRule);
|
||||
cmList assemblyCommands{ *assemblyRule };
|
||||
|
||||
std::string shellObjS = this->LocalGenerator->ConvertToOutputFormat(
|
||||
objS, cmOutputConverter::SHELL);
|
||||
@@ -1674,7 +1673,7 @@ void cmMakefileTargetGenerator::WriteDeviceLinkRule(
|
||||
}
|
||||
|
||||
cmLocalUnixMakefileGenerator3* localGen{ this->LocalGenerator };
|
||||
std::vector<std::string> architectures = cmExpandedList(architecturesStr);
|
||||
cmList architectures{ architecturesStr };
|
||||
std::string const& relPath = localGen->GetHomeRelativeOutputPath();
|
||||
|
||||
// Ensure there are no duplicates.
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
#include "cmConfigureLog.h"
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
#include "cmMessenger.h"
|
||||
@@ -31,13 +32,13 @@ enum class CheckingType
|
||||
std::string IndentText(std::string text, cmMakefile& mf)
|
||||
{
|
||||
auto indent =
|
||||
cmJoin(cmExpandedList(mf.GetSafeDefinition("CMAKE_MESSAGE_INDENT")), "");
|
||||
cmList{ mf.GetSafeDefinition("CMAKE_MESSAGE_INDENT") }.join("");
|
||||
|
||||
const auto showContext = mf.GetCMakeInstance()->GetShowLogContext() ||
|
||||
mf.IsOn("CMAKE_MESSAGE_CONTEXT_SHOW");
|
||||
if (showContext) {
|
||||
auto context = cmJoin(
|
||||
cmExpandedList(mf.GetSafeDefinition("CMAKE_MESSAGE_CONTEXT")), ".");
|
||||
auto context =
|
||||
cmList{ mf.GetSafeDefinition("CMAKE_MESSAGE_CONTEXT") }.join(".");
|
||||
if (!context.empty()) {
|
||||
indent.insert(0u, cmStrCat("["_s, context, "] "_s));
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "cmGlobalNinjaGenerator.h"
|
||||
#include "cmLinkLineComputer.h"
|
||||
#include "cmLinkLineDeviceComputer.h"
|
||||
#include "cmList.h"
|
||||
#include "cmLocalCommonGenerator.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmLocalNinjaGenerator.h"
|
||||
@@ -754,7 +755,7 @@ void cmNinjaNormalTargetGenerator::WriteDeviceLinkStatement(
|
||||
}
|
||||
|
||||
this->WriteDeviceLinkRules(config);
|
||||
this->WriteDeviceLinkStatements(config, cmExpandedList(architecturesStr),
|
||||
this->WriteDeviceLinkStatements(config, cmList{ architecturesStr },
|
||||
targetOutputReal);
|
||||
} else {
|
||||
this->WriteNvidiaDeviceLinkStatement(config, fileConfig, targetOutputDir,
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmGlobalCommonGenerator.h"
|
||||
#include "cmGlobalNinjaGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmLocalNinjaGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
@@ -1038,7 +1039,7 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang,
|
||||
// If compiler launcher was specified and not consumed above, it
|
||||
// goes to the beginning of the command line.
|
||||
if (!compileCmds.empty() && !compilerLauncher.empty()) {
|
||||
std::vector<std::string> args = cmExpandedList(compilerLauncher, true);
|
||||
cmList args{ compilerLauncher, cmList::EmptyElements::Yes };
|
||||
if (!args.empty()) {
|
||||
args[0] = this->LocalGenerator->ConvertToOutputFormat(
|
||||
args[0], cmOutputConverter::SHELL);
|
||||
@@ -1046,7 +1047,7 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang,
|
||||
i = this->LocalGenerator->EscapeForShell(i);
|
||||
}
|
||||
}
|
||||
compileCmds.front().insert(0, cmStrCat(cmJoin(args, " "), ' '));
|
||||
compileCmds.front().insert(0, cmStrCat(args.join(" "), ' '));
|
||||
}
|
||||
|
||||
if (!compileCmds.empty()) {
|
||||
@@ -1056,7 +1057,7 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang,
|
||||
const auto& extraCommands = this->GetMakefile()->GetSafeDefinition(
|
||||
cmStrCat("CMAKE_", lang, "_DEPENDS_EXTRA_COMMANDS"));
|
||||
if (!extraCommands.empty()) {
|
||||
auto commandList = cmExpandedList(extraCommands);
|
||||
cmList commandList{ extraCommands };
|
||||
compileCmds.insert(compileCmds.end(), commandList.cbegin(),
|
||||
commandList.cend());
|
||||
}
|
||||
@@ -1468,7 +1469,7 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatement(
|
||||
}
|
||||
|
||||
if (cmValue objectDeps = source->GetProperty("OBJECT_DEPENDS")) {
|
||||
std::vector<std::string> objDepList = cmExpandedList(*objectDeps);
|
||||
cmList objDepList{ *objectDeps };
|
||||
std::copy(objDepList.begin(), objDepList.end(),
|
||||
std::back_inserter(depList));
|
||||
}
|
||||
@@ -1688,7 +1689,7 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatement(
|
||||
if (!evaluatedObjectOutputs.empty()) {
|
||||
cmNinjaBuild build("phony");
|
||||
build.Comment = "Additional output files.";
|
||||
build.Outputs = cmExpandedList(evaluatedObjectOutputs);
|
||||
build.Outputs = cmList{ evaluatedObjectOutputs }.data();
|
||||
std::transform(build.Outputs.begin(), build.Outputs.end(),
|
||||
build.Outputs.begin(), this->MapToNinjaPath());
|
||||
build.ExplicitDeps = objBuild.Outputs;
|
||||
|
||||
@@ -6,16 +6,15 @@
|
||||
#include <cassert>
|
||||
#include <cctype>
|
||||
#include <set>
|
||||
#include <vector>
|
||||
|
||||
#ifdef _WIN32
|
||||
# include <unordered_map>
|
||||
# include <utility>
|
||||
#endif
|
||||
|
||||
#include "cmList.h"
|
||||
#include "cmState.h"
|
||||
#include "cmStateDirectory.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmValue.h"
|
||||
|
||||
@@ -319,7 +318,7 @@ cmOutputConverter::FortranFormat cmOutputConverter::GetFortranFormat(
|
||||
{
|
||||
FortranFormat format = FortranFormatNone;
|
||||
if (!value.empty()) {
|
||||
for (std::string const& fi : cmExpandedList(value)) {
|
||||
for (std::string const& fi : cmList(value)) {
|
||||
if (fi == "FIXED") {
|
||||
format = FortranFormatFixed;
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmGeneratorExpression.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmSourceFile.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
@@ -126,9 +127,9 @@ public:
|
||||
std::string incDirs = cmGeneratorExpression::Preprocess(
|
||||
*incDirProp, cmGeneratorExpression::StripAllGeneratorExpressions);
|
||||
|
||||
std::vector<std::string> includes = cmExpandedList(incDirs);
|
||||
cmList includes{ incDirs };
|
||||
|
||||
for (std::string& path : includes) {
|
||||
for (auto& path : includes) {
|
||||
this->Makefile->ExpandVariablesInString(path);
|
||||
if (uniqueIncludes.insert(path).second) {
|
||||
orderedAndUniqueIncludes.push_back(path);
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "cmArgumentParser.h"
|
||||
#include "cmArgumentParserTypes.h"
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
#include "cmRange.h"
|
||||
@@ -169,7 +170,7 @@ bool cmParseArgumentsCommand(std::vector<std::string> const& args,
|
||||
};
|
||||
|
||||
// the second argument is a (cmake) list of options without argument
|
||||
std::vector<std::string> list = cmExpandedList(*argIter++);
|
||||
cmList list{ *argIter++ };
|
||||
parser.Bind(list, options, duplicateKey);
|
||||
|
||||
// the third argument is a (cmake) list of single argument options
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmLinkItem.h"
|
||||
#include "cmList.h"
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
@@ -507,7 +508,7 @@ bool cmQtAutoGenInitializer::InitCustomTargets()
|
||||
std::string const& deps =
|
||||
this->GenTarget->GetSafeProperty("AUTOGEN_TARGET_DEPENDS");
|
||||
if (!deps.empty()) {
|
||||
for (std::string const& depName : cmExpandedList(deps)) {
|
||||
for (auto const& depName : cmList{ deps }) {
|
||||
// Allow target and file dependencies
|
||||
auto* depTarget = this->Makefile->FindTargetToUse(depName);
|
||||
if (depTarget) {
|
||||
@@ -545,8 +546,8 @@ bool cmQtAutoGenInitializer::InitCustomTargets()
|
||||
this->Moc.MacroNames.erase(cmRemoveDuplicates(this->Moc.MacroNames),
|
||||
this->Moc.MacroNames.end());
|
||||
{
|
||||
auto filterList = cmExpandedList(
|
||||
this->GenTarget->GetSafeProperty("AUTOMOC_DEPEND_FILTERS"));
|
||||
cmList filterList = { this->GenTarget->GetSafeProperty(
|
||||
"AUTOMOC_DEPEND_FILTERS") };
|
||||
if ((filterList.size() % 2) != 0) {
|
||||
cmSystemTools::Error(
|
||||
cmStrCat("AutoMoc: AUTOMOC_DEPEND_FILTERS predefs size ",
|
||||
@@ -558,7 +559,9 @@ bool cmQtAutoGenInitializer::InitCustomTargets()
|
||||
"Q_PLUGIN_METADATA",
|
||||
"[\n][ \t]*Q_PLUGIN_METADATA[ \t]*\\("
|
||||
"[^\\)]*FILE[ \t]*\"([^\"]+)\"");
|
||||
for (std::size_t ii = 0; ii != filterList.size(); ii += 2) {
|
||||
for (cmList::index_type ii = 0;
|
||||
ii != static_cast<cmList::index_type>(filterList.size());
|
||||
ii += 2) {
|
||||
this->Moc.DependFilters.emplace_back(filterList[ii],
|
||||
filterList[ii + 1]);
|
||||
}
|
||||
@@ -701,7 +704,7 @@ bool cmQtAutoGenInitializer::InitUic()
|
||||
this->GenTarget->GetSafeProperty("AUTOUIC_SEARCH_PATHS");
|
||||
if (!usp.empty()) {
|
||||
this->Uic.SearchPaths =
|
||||
SearchPathSanitizer(this->Makefile)(cmExpandedList(usp));
|
||||
SearchPathSanitizer(this->Makefile)(cmList{ usp });
|
||||
}
|
||||
}
|
||||
// Uic target options
|
||||
@@ -961,8 +964,8 @@ bool cmQtAutoGenInitializer::InitScanFiles()
|
||||
if (uicOpts.empty()) {
|
||||
this->Uic.UiFilesNoOptions.emplace_back(fullPath);
|
||||
} else {
|
||||
this->Uic.UiFilesWithOptions.emplace_back(fullPath,
|
||||
cmExpandedList(uicOpts));
|
||||
this->Uic.UiFilesWithOptions.emplace_back(
|
||||
fullPath, std::move(cmList{ uicOpts }.data()));
|
||||
}
|
||||
|
||||
auto uiHeaderRelativePath = cmSystemTools::RelativePath(
|
||||
@@ -1063,8 +1066,8 @@ bool cmQtAutoGenInitializer::InitScanFiles()
|
||||
if (!this->Rcc.Qrcs.empty()) {
|
||||
const bool modernQt = (this->QtVersion.Major >= 5);
|
||||
// Target rcc options
|
||||
std::vector<std::string> optionsTarget =
|
||||
cmExpandedList(this->GenTarget->GetSafeProperty(kw.AUTORCC_OPTIONS));
|
||||
cmList optionsTarget{ this->GenTarget->GetSafeProperty(
|
||||
kw.AUTORCC_OPTIONS) };
|
||||
|
||||
// Check if file name is unique
|
||||
for (Qrc& qrc : this->Rcc.Qrcs) {
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
#include "cmRemoveCommand.h"
|
||||
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmValue.h"
|
||||
|
||||
// cmRemoveCommand
|
||||
@@ -25,12 +25,11 @@ bool cmRemoveCommand(std::vector<std::string> const& args,
|
||||
}
|
||||
|
||||
// expand the variable
|
||||
std::vector<std::string> const varArgsExpanded = cmExpandedList(*cacheValue);
|
||||
cmList const varArgsExpanded{ *cacheValue };
|
||||
|
||||
// expand the args
|
||||
// check for REMOVE(VAR v1 v2 ... vn)
|
||||
std::vector<std::string> const argsExpanded =
|
||||
cmExpandedLists(args.begin() + 1, args.end());
|
||||
cmList const argsExpanded{ args.begin() + 1, args.end() };
|
||||
|
||||
// now create the new value
|
||||
std::string value;
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include <cm/optional>
|
||||
|
||||
#include "cmFindCommon.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
@@ -71,7 +72,7 @@ void cmSearchPath::AddCMakePath(const std::string& variable)
|
||||
|
||||
// Get a path from a CMake variable.
|
||||
if (cmValue value = this->FC->Makefile->GetDefinition(variable)) {
|
||||
std::vector<std::string> expanded = cmExpandedList(*value);
|
||||
cmList expanded{ *value };
|
||||
|
||||
for (std::string const& p : expanded) {
|
||||
this->AddPathInternal(
|
||||
@@ -95,7 +96,7 @@ void cmSearchPath::AddCMakePrefixPath(const std::string& variable)
|
||||
|
||||
// Get a path from a CMake variable.
|
||||
if (cmValue value = this->FC->Makefile->GetDefinition(variable)) {
|
||||
std::vector<std::string> expanded = cmExpandedList(*value);
|
||||
cmList expanded{ *value };
|
||||
|
||||
this->AddPrefixPaths(
|
||||
expanded, this->FC->Makefile->GetCurrentSourceDirectory().c_str());
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "cmGeneratorExpression.h"
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
@@ -349,7 +350,7 @@ struct StandardLevelComputer
|
||||
for (size_t i = 0; i < this->Levels.size(); ++i) {
|
||||
if (cmValue prop = makefile->GetDefinition(
|
||||
cmStrCat(prefix, this->LevelsAsStrings[i], "_COMPILE_FEATURES"))) {
|
||||
std::vector<std::string> props = cmExpandedList(*prop);
|
||||
cmList props{ *prop };
|
||||
if (cm::contains(props, feature)) {
|
||||
maxLevel = { static_cast<int>(i), this->Levels[i] };
|
||||
}
|
||||
@@ -468,7 +469,7 @@ bool cmStandardLevelResolver::CheckCompileFeaturesAvailable(
|
||||
return false;
|
||||
}
|
||||
|
||||
std::vector<std::string> availableFeatures = cmExpandedList(features);
|
||||
cmList availableFeatures{ features };
|
||||
if (!cm::contains(availableFeatures, feature)) {
|
||||
std::ostringstream e;
|
||||
e << "The compiler feature \"" << feature << "\" is not known to " << lang
|
||||
|
||||
@@ -80,13 +80,6 @@ std::vector<std::string> cmTokenize(cm::string_view str, cm::string_view sep)
|
||||
return tokens;
|
||||
}
|
||||
|
||||
std::vector<std::string> cmExpandedList(cm::string_view arg, bool emptyArgs)
|
||||
{
|
||||
std::vector<std::string> argsOut;
|
||||
cmExpandList(arg, argsOut, emptyArgs);
|
||||
return argsOut;
|
||||
}
|
||||
|
||||
namespace {
|
||||
template <std::size_t N, typename T>
|
||||
inline void MakeDigits(cm::string_view& view, char (&digits)[N],
|
||||
|
||||
@@ -121,35 +121,6 @@ void cmExpandLists(InputIt first, InputIt last,
|
||||
cmList::append(first, last, argsOut);
|
||||
}
|
||||
|
||||
/**
|
||||
* Same as cmExpandList but a new vector is created containing
|
||||
* the expanded arguments from the string @a arg.
|
||||
*/
|
||||
std::vector<std::string> cmExpandedList(cm::string_view arg,
|
||||
bool emptyArgs = false);
|
||||
inline std::vector<std::string> cmExpandedList(cmValue arg,
|
||||
bool emptyArgs = false)
|
||||
{
|
||||
if (!arg) {
|
||||
return {};
|
||||
}
|
||||
return cmExpandedList(*arg, emptyArgs);
|
||||
}
|
||||
|
||||
/**
|
||||
* Same as cmExpandList but a new vector is created containing the expanded
|
||||
* versions of all arguments in the string range [@a first, @a last).
|
||||
*/
|
||||
template <class InputIt>
|
||||
std::vector<std::string> cmExpandedLists(InputIt first, InputIt last)
|
||||
{
|
||||
std::vector<std::string> argsOut;
|
||||
for (; first != last; ++first) {
|
||||
cmExpandList(*first, argsOut);
|
||||
}
|
||||
return argsOut;
|
||||
}
|
||||
|
||||
/** Concatenate string pieces into a single string. */
|
||||
std::string cmCatViews(
|
||||
std::initializer_list<std::pair<cm::string_view, std::string*>> views);
|
||||
|
||||
+5
-4
@@ -23,6 +23,7 @@
|
||||
#include "cmGeneratorExpression.h"
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
@@ -92,7 +93,7 @@ cmValue cmTargetPropertyComputer::GetSources<cmTarget>(cmTarget const* tgt,
|
||||
std::ostringstream ss;
|
||||
const char* sep = "";
|
||||
for (auto const& entry : entries) {
|
||||
std::vector<std::string> files = cmExpandedList(entry.Value);
|
||||
cmList files{ entry.Value };
|
||||
for (std::string const& file : files) {
|
||||
if (cmHasLiteralPrefix(file, "$<TARGET_OBJECTS:") &&
|
||||
file.back() == '>') {
|
||||
@@ -1115,7 +1116,7 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type,
|
||||
if (globals) {
|
||||
const std::string genName = mf->GetGlobalGenerator()->GetName();
|
||||
if (cmHasLiteralPrefix(genName, "Visual Studio")) {
|
||||
std::vector<std::string> props = cmExpandedList(*globals);
|
||||
cmList props{ *globals };
|
||||
const std::string vsGlobal = "VS_GLOBAL_";
|
||||
for (const std::string& i : props) {
|
||||
// split NAME=VALUE
|
||||
@@ -1428,7 +1429,7 @@ public:
|
||||
|
||||
bool operator()(BT<std::string> const& entry)
|
||||
{
|
||||
std::vector<std::string> files = cmExpandedList(entry.Value);
|
||||
cmList files{ entry.Value };
|
||||
std::vector<cmSourceFileLocation> locations;
|
||||
locations.reserve(files.size());
|
||||
std::transform(files.begin(), files.end(), std::back_inserter(locations),
|
||||
@@ -2967,7 +2968,7 @@ std::vector<std::string> cmTarget::GetAllInterfaceFileSets() const
|
||||
|
||||
auto appendEntries = [=](const std::vector<BT<std::string>>& entries) {
|
||||
for (auto const& entry : entries) {
|
||||
auto expanded = cmExpandedList(entry.Value);
|
||||
cmList expanded{ entry.Value };
|
||||
std::copy(expanded.begin(), expanded.end(), inserter);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "cmExperimental.h"
|
||||
#include "cmFileSet.h"
|
||||
#include "cmGeneratorExpression.h"
|
||||
#include "cmList.h"
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
@@ -320,7 +321,7 @@ bool TargetSourcesImpl::HandleOneFileSet(
|
||||
fileSet.first->AddDirectoryEntry(
|
||||
BT<std::string>(baseDirectories, this->Makefile->GetBacktrace()));
|
||||
if (type == "HEADERS"_s || type == "CXX_MODULE_HEADER_UNITS"_s) {
|
||||
for (auto const& dir : cmExpandedList(baseDirectories)) {
|
||||
for (auto const& dir : cmList{ baseDirectories }) {
|
||||
auto interfaceDirectoriesGenex =
|
||||
cmStrCat("$<BUILD_INTERFACE:", dir, ">");
|
||||
if (cmFileSetVisibilityIsForSelf(visibility)) {
|
||||
|
||||
+11
-11
@@ -13,6 +13,7 @@
|
||||
|
||||
#include "cmGeneratorExpression.h"
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmList.h"
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
@@ -147,16 +148,15 @@ void cmTestGenerator::GenerateScriptForConfig(std::ostream& os,
|
||||
}
|
||||
|
||||
// Evaluate command line arguments
|
||||
std::vector<std::string> argv =
|
||||
this->EvaluateCommandLineArguments(this->Test->GetCommand(), ge, config);
|
||||
|
||||
// Expand arguments if COMMAND_EXPAND_LISTS is set
|
||||
if (this->Test->GetCommandExpandLists()) {
|
||||
argv = cmExpandedLists(argv.begin(), argv.end());
|
||||
// Expanding lists on an empty command may have left it empty
|
||||
if (argv.empty()) {
|
||||
argv.emplace_back();
|
||||
}
|
||||
cmList argv{
|
||||
this->EvaluateCommandLineArguments(this->Test->GetCommand(), ge, config),
|
||||
// Expand arguments if COMMAND_EXPAND_LISTS is set
|
||||
this->Test->GetCommandExpandLists() ? cmList::ExpandElements::Yes
|
||||
: cmList::ExpandElements::No
|
||||
};
|
||||
// Expanding lists on an empty command may have left it empty
|
||||
if (argv.empty()) {
|
||||
argv.emplace_back();
|
||||
}
|
||||
|
||||
// Check whether the command executable is a target whose name is to
|
||||
@@ -170,7 +170,7 @@ void cmTestGenerator::GenerateScriptForConfig(std::ostream& os,
|
||||
// Prepend with the emulator when cross compiling if required.
|
||||
cmValue emulator = target->GetProperty("CROSSCOMPILING_EMULATOR");
|
||||
if (cmNonempty(emulator)) {
|
||||
std::vector<std::string> emulatorWithArgs = cmExpandedList(*emulator);
|
||||
cmList emulatorWithArgs{ *emulator };
|
||||
std::string emulatorExe(emulatorWithArgs[0]);
|
||||
cmSystemTools::ConvertToUnixSlashes(emulatorExe);
|
||||
os << cmOutputConverter::EscapeForCMake(emulatorExe) << " ";
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "cmCoreTryCompile.h"
|
||||
#include "cmDuration.h"
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
#include "cmRange.h"
|
||||
@@ -271,7 +272,7 @@ void TryRunCommandImpl::RunExecutable(const std::string& runArgs,
|
||||
const std::string& emulator =
|
||||
this->Makefile->GetSafeDefinition("CMAKE_CROSSCOMPILING_EMULATOR");
|
||||
if (!emulator.empty()) {
|
||||
std::vector<std::string> emulatorWithArgs = cmExpandedList(emulator);
|
||||
cmList emulatorWithArgs{ emulator };
|
||||
finalCommand +=
|
||||
cmSystemTools::ConvertToRunCommandPath(emulatorWithArgs[0]);
|
||||
finalCommand += " ";
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "cmGlobalVisualStudio7Generator.h"
|
||||
#include "cmGlobalVisualStudioGenerator.h"
|
||||
#include "cmLinkLineDeviceComputer.h"
|
||||
#include "cmList.h"
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmLocalVisualStudio10Generator.h"
|
||||
@@ -1167,7 +1168,7 @@ void cmVisualStudio10TargetGenerator::WriteImports(Elem& e0)
|
||||
cmValue imports =
|
||||
this->GeneratorTarget->Target->GetProperty("VS_PROJECT_IMPORT");
|
||||
if (imports) {
|
||||
std::vector<std::string> argsSplit = cmExpandedList(*imports, false);
|
||||
cmList argsSplit{ *imports };
|
||||
for (auto& path : argsSplit) {
|
||||
if (!cmsys::SystemTools::FileIsFullPath(path)) {
|
||||
path = this->Makefile->GetCurrentSourceDirectory() + "/" + path;
|
||||
@@ -2113,8 +2114,8 @@ void cmVisualStudio10TargetGenerator::ParseSettingsProperty(
|
||||
for (const std::string& config : this->Configurations) {
|
||||
std::string evaluated = cge->Evaluate(this->LocalGenerator, config);
|
||||
|
||||
std::vector<std::string> settings = cmExpandedList(evaluated);
|
||||
for (const std::string& setting : settings) {
|
||||
cmList settings{ evaluated };
|
||||
for (const auto& setting : settings) {
|
||||
const std::string::size_type assignment = setting.find('=');
|
||||
if (assignment != std::string::npos) {
|
||||
const std::string propName = setting.substr(0, assignment);
|
||||
@@ -2714,16 +2715,11 @@ void cmVisualStudio10TargetGenerator::OutputSourceSpecificFlags(
|
||||
|
||||
if (lang == "ASM_NASM") {
|
||||
if (cmValue objectDeps = sf.GetProperty("OBJECT_DEPENDS")) {
|
||||
std::string dependencies;
|
||||
std::vector<std::string> depends = cmExpandedList(*objectDeps);
|
||||
const char* sep = "";
|
||||
for (std::string& d : depends) {
|
||||
cmList depends{ *objectDeps };
|
||||
for (auto& d : depends) {
|
||||
ConvertToWindowsSlash(d);
|
||||
dependencies += sep;
|
||||
dependencies += d;
|
||||
sep = ";";
|
||||
}
|
||||
e2.Element("AdditionalDependencies", dependencies);
|
||||
e2.Element("AdditionalDependencies", depends.join(";"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "cmGeneratedFileStream.h"
|
||||
#include "cmGeneratorExpression.h"
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmList.h"
|
||||
#include "cmStateTypes.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
@@ -270,7 +271,7 @@ void cmXCodeScheme::WriteLaunchAction(cmXMLWriter& xout,
|
||||
|
||||
if (cmValue argList =
|
||||
this->Target->GetTarget()->GetProperty("XCODE_SCHEME_ARGUMENTS")) {
|
||||
std::vector<std::string> arguments = cmExpandedList(*argList);
|
||||
cmList arguments{ *argList };
|
||||
if (!arguments.empty()) {
|
||||
xout.StartElement("CommandLineArguments");
|
||||
|
||||
@@ -290,7 +291,7 @@ void cmXCodeScheme::WriteLaunchAction(cmXMLWriter& xout,
|
||||
|
||||
if (cmValue envList =
|
||||
this->Target->GetTarget()->GetProperty("XCODE_SCHEME_ENVIRONMENT")) {
|
||||
std::vector<std::string> envs = cmExpandedList(*envList);
|
||||
cmList envs{ *envList };
|
||||
if (!envs.empty()) {
|
||||
xout.StartElement("EnvironmentVariables");
|
||||
|
||||
|
||||
+5
-4
@@ -53,6 +53,7 @@
|
||||
# include "cmMakefileProfilingData.h"
|
||||
#endif
|
||||
#include "cmJSONState.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMessenger.h"
|
||||
#include "cmState.h"
|
||||
#include "cmStateDirectory.h"
|
||||
@@ -813,7 +814,7 @@ bool cmake::FindPackage(const std::vector<std::string>& args)
|
||||
}
|
||||
} else if (mode == "COMPILE"_s) {
|
||||
std::string includes = mf->GetSafeDefinition("PACKAGE_INCLUDE_DIRS");
|
||||
std::vector<std::string> includeDirs = cmExpandedList(includes);
|
||||
cmList includeDirs{ includes };
|
||||
|
||||
this->GlobalGenerator->CreateGenerationObjects();
|
||||
const auto& lg = this->GlobalGenerator->LocalGenerators[0];
|
||||
@@ -829,7 +830,7 @@ bool cmake::FindPackage(const std::vector<std::string>& args)
|
||||
tgt->SetProperty("LINKER_LANGUAGE", language);
|
||||
|
||||
std::string libs = mf->GetSafeDefinition("PACKAGE_LIBRARIES");
|
||||
std::vector<std::string> libList = cmExpandedList(libs);
|
||||
cmList libList{ libs };
|
||||
for (std::string const& lib : libList) {
|
||||
tgt->AddLinkLibrary(*mf, lib, GENERAL_LibraryType);
|
||||
}
|
||||
@@ -1026,7 +1027,7 @@ void cmake::SetArgs(const std::vector<std::string>& args)
|
||||
|
||||
CommandArgument{ "--check-build-system", CommandArgument::Values::Two,
|
||||
[](std::string const& value, cmake* state) -> bool {
|
||||
std::vector<std::string> values = cmExpandedList(value);
|
||||
cmList values{ value };
|
||||
state->CheckBuildSystemArgument = values[0];
|
||||
state->ClearBuildSystem = (atoi(values[1].c_str()) > 0);
|
||||
return true;
|
||||
@@ -2163,7 +2164,7 @@ struct SaveCacheEntry
|
||||
|
||||
int cmake::HandleDeleteCacheVariables(const std::string& var)
|
||||
{
|
||||
std::vector<std::string> argsSplit = cmExpandedList(var, true);
|
||||
cmList argsSplit{ var, cmList::EmptyElements::Yes };
|
||||
// erase the property to avoid infinite recursion
|
||||
this->State->SetGlobalProperty("__CMAKE_DELETE_CACHE_CHANGE_VARS_", "");
|
||||
if (this->GetIsInTryCompile()) {
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#include "cmConsoleBuf.h"
|
||||
#include "cmDocumentationEntry.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageMetadata.h"
|
||||
#include "cmState.h"
|
||||
@@ -457,7 +458,7 @@ int do_build(int ac, char const* const* av)
|
||||
};
|
||||
auto targetLambda = [&](std::string const& value) -> bool {
|
||||
if (!value.empty()) {
|
||||
std::vector<std::string> values = cmExpandedList(value);
|
||||
cmList values{ value };
|
||||
for (auto const& v : values) {
|
||||
targets.emplace_back(v);
|
||||
if (v == "clean") {
|
||||
|
||||
+6
-5
@@ -14,6 +14,7 @@
|
||||
#include "cmConsoleBuf.h"
|
||||
#include "cmDuration.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmList.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmQtAutoMocUic.h"
|
||||
@@ -342,7 +343,7 @@ int HandleIWYU(const std::string& runCmd, const std::string& /* sourceFile */,
|
||||
{
|
||||
// Construct the iwyu command line by taking what was given
|
||||
// and adding all the arguments we give to the compiler.
|
||||
std::vector<std::string> iwyu_cmd = cmExpandedList(runCmd, true);
|
||||
cmList iwyu_cmd{ runCmd, cmList::EmptyElements::Yes };
|
||||
cm::append(iwyu_cmd, orig_cmd.begin() + 1, orig_cmd.end());
|
||||
// Run the iwyu command line. Capture its stderr and hide its stdout.
|
||||
// Ignore its return code because the tool always returns non-zero.
|
||||
@@ -366,7 +367,7 @@ int HandleIWYU(const std::string& runCmd, const std::string& /* sourceFile */,
|
||||
int HandleTidy(const std::string& runCmd, const std::string& sourceFile,
|
||||
const std::vector<std::string>& orig_cmd)
|
||||
{
|
||||
std::vector<std::string> tidy_cmd = cmExpandedList(runCmd, true);
|
||||
cmList tidy_cmd{ runCmd, cmList::EmptyElements::Yes };
|
||||
tidy_cmd.push_back(sourceFile);
|
||||
|
||||
for (auto const& arg : tidy_cmd) {
|
||||
@@ -416,7 +417,7 @@ int HandleLWYU(const std::string& runCmd, const std::string& sourceFile,
|
||||
{
|
||||
// Construct the ldd -r -u (link what you use lwyu) command line
|
||||
// ldd -u -r lwuy target
|
||||
std::vector<std::string> lwyu_cmd = cmExpandedList(runCmd, true);
|
||||
cmList lwyu_cmd{ runCmd, cmList::EmptyElements::Yes };
|
||||
lwyu_cmd.push_back(sourceFile);
|
||||
|
||||
// Run the lwyu check command line, currently ldd is expected.
|
||||
@@ -444,7 +445,7 @@ int HandleCppLint(const std::string& runCmd, const std::string& sourceFile,
|
||||
const std::vector<std::string>&)
|
||||
{
|
||||
// Construct the cpplint command line.
|
||||
std::vector<std::string> cpplint_cmd = cmExpandedList(runCmd, true);
|
||||
cmList cpplint_cmd{ runCmd, cmList::EmptyElements::Yes };
|
||||
cpplint_cmd.push_back(sourceFile);
|
||||
|
||||
// Run the cpplint command line. Capture its output.
|
||||
@@ -471,7 +472,7 @@ int HandleCppCheck(const std::string& runCmd, const std::string& sourceFile,
|
||||
const std::vector<std::string>& orig_cmd)
|
||||
{
|
||||
// Construct the cpplint command line.
|
||||
std::vector<std::string> cppcheck_cmd = cmExpandedList(runCmd, true);
|
||||
cmList cppcheck_cmd{ runCmd, cmList::EmptyElements::Yes };
|
||||
// extract all the -D, -U, and -I options from the compile line
|
||||
for (auto const& opt : orig_cmd) {
|
||||
if (opt.size() > 2) {
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "cmCTestTestHandler.h"
|
||||
#include "cmFileLock.h"
|
||||
#include "cmFileLockResult.h"
|
||||
#include "cmList.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
|
||||
@@ -282,7 +283,7 @@ static int doVerify(int argc, char const* const* argv)
|
||||
if (argc == 5) {
|
||||
testNames = argv[4];
|
||||
}
|
||||
auto testNameList = cmExpandedList(testNames, false);
|
||||
cmList testNameList{ testNames };
|
||||
std::set<std::string> testNameSet(testNameList.begin(), testNameList.end());
|
||||
|
||||
cmCTestResourceSpec spec;
|
||||
|
||||
Reference in New Issue
Block a user