std::string command2("del ");
command += "\"" + locationFixed + "\" \"" + name + "\"";
- command1 += "\"" + locationFixed +"\\"+name+"\\CMakeLists.txt.in\" " + "NameOfTheProject " + name + "> \"" + locationFixed + "\\" + name + "\\CMakeLists.txt\"";
- command2 += "\"" + locationFixed +"\\"+name+"\\CMakeLists.txt.in\"";
-
+ command1 += "\"" + locationFixed + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt.in\" " + "PROJECT_NAME " + name + "> \"" + locationFixed + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt\"";
+ command2 += "\"" + locationFixed + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt.in\"";
if (system (command.c_str()))
{
- result = new std::string("An error occured while running '" + command + "'.");
+ result = new std::string("An error occurred while running '" + command + "'.");
return false;
}
- system ( command1.c_str() );
- system ( command2.c_str() );
+ if (system (command1.c_str()))
+ {
+ result = new std::string("An error occurred while running '" + command1 + "'.");
+ return false;
+ }
+ if (system (command2.c_str()))
+ {
+ result = new std::string("An error occurred while running '" + command2 + "'.");
+ return false;
+ }
- char *author = author.c_str();
- std::string nomDirectory = locationFixed + "\\" + name;
- std::string nomPackageDirectory = nomDirectory + "\\" + "bbtk_" + name + "_PKG";
+ std::string nomDirectory = locationFixed + CDMUtilities::SLASH + name;
+ std::string nomPackageDirectory = nomDirectory + CDMUtilities::SLASH + "bbtk_" + name + "_PKG";
std::string bbCreatePackage("bbCreatePackage ");
- bbCreatePackage += nomDirectory + " " + name + " " + author + " " + description;
- system (bbCreatePackage.c_str());
+ bbCreatePackage += "\"" + nomDirectory + "\" \"" + name + "\" \"" + author + "\" \"" + description + "\"";
+ if (!system (bbCreatePackage.c_str()))
+ {
+ result = new std::string("An error occurred while running '" + bbCreatePackage + "'.");
+ return false;
+ }
std::string add;
- add = "echo ADD_SUBDIRECTORY(bbtk_" + name + "_PKG) >> " + nomDirectory + "/CMakeLists.txt";
- system(add.c_str());
+ add = "echo ADD_SUBDIRECTORY(bbtk_" + name + "_PKG) >> \"" + nomDirectory + CDMUtilities::SLASH + "CMakeLists.txt\"";
+ if (system (add.c_str()))
+ {
+ result = new std::string("An error occurred while running '" + add + "'.");
+ return false;
+ }
- this->project = new modelCDMProject(nomDirectory);
+ this->project = new modelCDMProject(NULL, nomDirectory, name);
#else
// ------ LINUX / MacOS
std::string command("creaNewProject.sh ");
- command += "\"" + locationFixed + "\"" +" " + name;
+ command += "\"" + locationFixed + "\"" +" \"" + name + "\"";
//std::cout << "executing " << command << std::endl;
if (system ( command.c_str() ) )
{
return false;
}
- std::string nomDirectory = locationFixed + "/" + name;
- std::string nomPackageDirectory = nomDirectory + "/" + "bbtk_" + name + "_PKG";
+ std::string nomDirectory = locationFixed + CDMUtilities::SLASH + name;
+ std::string nomPackageDirectory = nomDirectory + CDMUtilities::SLASH + "bbtk_" + name + "_PKG";
std::string bbCreatePackage("bbCreatePackage ");
- bbCreatePackage += nomDirectory + " " + name + " " + author + " " + description;
+ bbCreatePackage += "\"" + nomDirectory + "\" \"" + name + "\" \"" + author + "\" \"" + description + "\"";
//std::cout << "executing " << bbCreatePackage << std::endl;
system (bbCreatePackage.c_str());
std::string add;
- add = "echo 'ADD_SUBDIRECTORY(bbtk_" + name + "_PKG)' >> " + nomDirectory + "/CMakeLists.txt";
+ add = "echo 'ADD_SUBDIRECTORY(bbtk_" + name + "_PKG)' >> \"" + nomDirectory + CDMUtilities::SLASH + "CMakeLists.txt\"";
//std::cout << "executing " << add << std::endl;
system(add.c_str());
return false;
}
- this->project = new modelCDMProject(nomDirectory);
+ this->project = new modelCDMProject(NULL, nomDirectory, name);
#endif
std::string pathBuild = "";
//check if Makefile file exists
- std::string pathMakefile = pathFixed + "/Makefile";
+ std::string pathMakefile = pathFixed + CDMUtilities::SLASH + "Makefile";
FILE* pFile = fopen(pathMakefile.c_str(), "r");
//is the binary folder
bool isSource = false;
std::string pathSource = "";
//check if CMakeLists file exists
- std::string pathCMakeLists = pathFixed + "/CMakeLists.txt";
+ std::string pathCMakeLists = pathFixed + CDMUtilities::SLASH + "CMakeLists.txt";
pFile = fopen(pathCMakeLists.c_str(), "r");
//is the source folder
if (!CloseProject(result))
return false;
}
+ std::vector<std::string> words;
+ CDMUtilities::splitter::split(words, pathSource, CDMUtilities::SLASH, CDMUtilities::splitter::no_empties);
std::cout << "Project sources at: " << pathSource << std::endl;
if(isBinary)
{
std::cout << ", and built in: " << pathBuild << std::endl;
- this->project = new modelCDMProject(pathSource, pathBuild);
+
+ this->project = new modelCDMProject(NULL, pathSource, words[words.size()-1], pathBuild);
}
else
{
- this->project = new modelCDMProject(pathSource);
+ this->project = new modelCDMProject(NULL, pathSource, words[words.size()-1]);
}
}
else
}
}
+std::map<wxTreeItemId, modelCDMIProjectTreeNode*>& modelCDMMain::GetModelElements()
+{
+ return this->modelElements;
+}
+
bool modelCDMMain::CloseProject(
std::string*& result
)