in.close();
out.close();
//delete old file and rename new file
+#ifdef _WIN32
+ std::string renameCommand = "move /Y \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#else
std::string renameCommand = "mv \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#endif
+
if(system(renameCommand.c_str()))
{
result = new std::string("An error occurred while running '" + renameCommand + "'.");
in.close();
out.close();
//delete old file and rename new file
+#ifdef _WIN32
+ std::string renameCommand = "move /Y \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#else
std::string renameCommand = "mv \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#endif
+
if(system(renameCommand.c_str()))
{
result = new std::string("An error occurred while running '" + renameCommand + "'.");
in.close();
out.close();
//delete old file and rename new file
+#ifdef _WIN32
+ std::string renameCommand = "move /Y \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#else
std::string renameCommand = "mv \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#endif
+
if(system(renameCommand.c_str()))
{
result = new std::string("An error occurred while running '" + renameCommand + "'.");
}
}
+
+std::map<std::string, bool> modelCDMPackage::Get3rdPartyLibraries()
+{
+ std::map<std::string, std::string> correspondence;
+ correspondence["${BBTK_PACKAGE_NAME}_USE_VTKON"] = "VTK";
+ correspondence["${BBTK_PACKAGE_NAME}_USE_ITKON"] = "ITK";
+ correspondence["${BBTK_PACKAGE_NAME}_USE_GDCMON"] = "GDCM";
+ correspondence["${BBTK_PACKAGE_NAME}_USE_GDCM_VTKON"] = "GDCM_VTK";
+ correspondence["${BBTK_PACKAGE_NAME}_USE_GSMISON"] = "GSMIS";
+ correspondence["${BBTK_PACKAGE_NAME}_USE_WXWIDGETSON"] = "WxWidgets";
+ correspondence["${BBTK_PACKAGE_NAME}_USE_KWWIDGETSON"] = "KWWidgets";
+ std::map<std::string, bool> res;
+ res["VTK"] = false;
+ res["ITK"] = false;
+ res["GDCM"] = false;
+ res["GDCM_VTK"] = false;
+ res["GSMIS"] = false;
+ res["WxWidgets"] = false;
+ res["KWWidgets"] = false;
+
+ if(this->HasCMakeLists())
+ {
+ std::ifstream CMFile(this->CMakeLists->GetPath().c_str());
+ if (CMFile.is_open())
+ {
+ std::string line;
+ while(!CMFile.eof())
+ {
+ std::getline(CMFile, line, '(');
+
+ std::vector<std::string> lineSeg;
+ CDMUtilities::splitter::split(lineSeg,line,"\n",CDMUtilities::splitter::no_empties);
+ for(int i = 0; lineSeg.size() > 0 && i < lineSeg[lineSeg.size()-1].size(); ++i)
+ if (lineSeg[lineSeg.size()-1][i] == ' ')
+ {
+ lineSeg[lineSeg.size()-1].erase(i,1);
+ --i;
+ }
+ if(lineSeg.size() > 0 && lineSeg[lineSeg.size()-1][0]!='#' && lineSeg[lineSeg.size()-1] == "SET")
+ {
+ std::getline(CMFile, line, ')');
+ CDMUtilities::splitter::split(lineSeg,line,"\t\n",CDMUtilities::splitter::no_empties);
+ if(lineSeg.size() > 0)
+ {
+ for(int i = 0; i < lineSeg[0].size(); ++i)
+ if (lineSeg[0][i] == ' ')
+ {
+ lineSeg[0].erase(i,1);
+ --i;
+ }
+
+ if(lineSeg[0].size() > 0 && lineSeg[0][0] == '$' && correspondence.find(lineSeg[0]) != correspondence.end())
+ {
+ res[correspondence[lineSeg[0]]] = true;
+ }
+ }
+ }
+ }
+ CMFile.close();
+ }
+ }
+ return res;
+}
+
+bool modelCDMPackage::Set3rdPartyLibrary(const std::string& library_name,
+ const bool& toInclude)
+{
+ return false;
+}
+
+std::map<std::string, bool> modelCDMPackage::GetCustomLibraries()
+{
+ std::map<std::string, bool> res;
+ res["Test"] = false;
+ return res;
+}
+
+bool modelCDMPackage::SetCustomLibrary(const std::string& library_name,
+ const bool& toInclude)
+{
+ return false;
+}