|
|
@@ -61,23 +61,6 @@ bool rootIsPrefix(const std::string& root,
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
-cmSourceGroup* addSourceGroup(const std::vector<std::string>& tokenizedPath,
|
|
|
- cmMakefile& makefile)
|
|
|
-{
|
|
|
- cmSourceGroup* sg;
|
|
|
-
|
|
|
- sg = makefile.GetSourceGroup(tokenizedPath);
|
|
|
- if (!sg) {
|
|
|
- makefile.AddSourceGroup(tokenizedPath);
|
|
|
- sg = makefile.GetSourceGroup(tokenizedPath);
|
|
|
- if (!sg) {
|
|
|
- return nullptr;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return sg;
|
|
|
-}
|
|
|
-
|
|
|
std::string prepareFilePathForTree(const std::string& path,
|
|
|
const std::string& currentSourceDir)
|
|
|
{
|
|
|
@@ -121,7 +104,7 @@ bool addFilesToItsSourceGroups(const std::string& root,
|
|
|
if (tokenizedPath.size() > 1) {
|
|
|
tokenizedPath.pop_back();
|
|
|
|
|
|
- sg = addSourceGroup(tokenizedPath, makefile);
|
|
|
+ sg = makefile.GetOrCreateSourceGroup(tokenizedPath);
|
|
|
|
|
|
if (!sg) {
|
|
|
errorMsg = "Could not create source group for file: " + *it;
|
|
|
@@ -158,20 +141,7 @@ bool cmSourceGroupCommand::InitialPass(std::vector<std::string> const& args,
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- std::string delimiter = "\\";
|
|
|
- if (this->Makefile->GetDefinition("SOURCE_GROUP_DELIMITER")) {
|
|
|
- delimiter = this->Makefile->GetDefinition("SOURCE_GROUP_DELIMITER");
|
|
|
- }
|
|
|
-
|
|
|
- std::vector<std::string> folders =
|
|
|
- cmSystemTools::tokenize(args[0], delimiter);
|
|
|
-
|
|
|
- cmSourceGroup* sg = nullptr;
|
|
|
- sg = this->Makefile->GetSourceGroup(folders);
|
|
|
- if (!sg) {
|
|
|
- this->Makefile->AddSourceGroup(folders);
|
|
|
- sg = this->Makefile->GetSourceGroup(folders);
|
|
|
- }
|
|
|
+ cmSourceGroup* sg = this->Makefile->GetOrCreateSourceGroup(args[0]);
|
|
|
|
|
|
if (!sg) {
|
|
|
this->SetError("Could not create or find source group");
|