]> Creatis software - crea.git/blobdiff - lib/creaDevManagerLib/modelCDMPackageSrc.cpp
#3391 bug profile_creatools in Linux/Win32
[crea.git] / lib / creaDevManagerLib / modelCDMPackageSrc.cpp
index 97e4ddec9f3b362ba3ec5058c6159f2ec8f14d66..f90def4fb604206c418ba8f90b2ba2ebc322a373 100644 (file)
@@ -89,7 +89,12 @@ modelCDMPackageSrc::modelCDMPackageSrc(modelCDMIProjectTreeNode* parent, const s
         {
           std::string stdfileName = crea::wx2std(fileName);
           std::size_t fileTypePos = stdfileName.find_last_of(".");
-          std::string fileType = stdfileName.substr(fileTypePos);
+          std::string fileType;
+          if(fileTypePos != std::string::npos)
+            fileType = stdfileName.substr(fileTypePos);
+          else
+            fileType = "";
+
           modelCDMCodeFile* file;
 
           if(stdfileName.substr(0,2) == "bb")
@@ -226,8 +231,13 @@ modelCDMBlackBox* modelCDMPackageSrc::CreateBlackBox(
   command += " \"" + bbDescription + "\"";
   command += " \"" + bbCategories + "\"";
 
+    
+#ifdef __APPLE__
+    command = "source ~/.bbtk/profile_creatools ; " + command;
+#endif
+    
   //excecute command
-  //wxMessageBox(crea::std2wx("Command: ->" + command + "<-"),_T("Creating Black Box"),wxOK | wxICON_INFORMATION);
+//  wxMessageBox(crea::std2wx("Command: ->" + command + "<-"),_T("Creating Black Box"),wxOK | wxICON_INFORMATION);
   if(system(command.c_str()))
     {
       result = new std::string("Error executing command '" + command + "'");
@@ -241,7 +251,7 @@ modelCDMBlackBox* modelCDMPackageSrc::CreateBlackBox(
   modelCDMFile* header = NULL;
   modelCDMFile* source = NULL;
   wxDir dir(crea::std2wx(path));
-  if (dir.IsOpened())
+    if (dir.IsOpened())
     {
       wxString fileName;
       bool cont = dir.GetFirst(&fileName, crea::std2wx("bb"+package+bbName+".h"), wxDIR_FILES);
@@ -258,6 +268,8 @@ modelCDMBlackBox* modelCDMPackageSrc::CreateBlackBox(
         }
     }
   //if source and header exist
+    
+    
   if (header != NULL && source != NULL)
     {
       //create black box
@@ -330,7 +342,11 @@ const bool modelCDMPackageSrc::Refresh(std::string*& result)
         {
           std::string stdfileName = crea::wx2std(fileName);
           std::size_t fileTypePos = stdfileName.find_last_of(".");
-          std::string fileType = stdfileName.substr(fileTypePos);
+          std::string fileType;
+          if(fileTypePos != std::string::npos)
+            fileType = stdfileName.substr(fileTypePos);
+          else
+            fileType = "";
 
           //if CMakeLists, create CMakeLists
           if(stdfileName == "CMakeLists.txt")