]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkConfigurationFile.cxx
#342 8BBTK Feature New Normal - Clean PlugPackage Windows
[bbtk.git] / kernel / src / bbtkConfigurationFile.cxx
index e6e7926b58849758ffec64ef0a94f5570c7b80c5..e91dcfdfc4ef94f15becf5452c0b593db689cdc8 100644 (file)
@@ -342,51 +342,7 @@ namespace bbtk
 
 
     // -----------------------------------------------------------------
-#if defined(__GNUC__)
-
-    // ------------------ create some usefull strings ----------------
-    // installed bbtk_path
-    char bbtk_path[1000];
-    strcpy(bbtk_path, Utilities::GetExecutablePath().c_str());  // JPR
-    //strcpy(bbtk_path, "/usr/local/bin");
-
-
-    std::string str_home=Utilities::GetEnvHome();
-
-
-    // rootDirectory
-    char rootDirectory[200];
-    sprintf( rootDirectory,  "%s/.bbtk", str_home.c_str());
-
-    // configPath
-    char configPath[200];
-    sprintf(configPath, "%s/bbtk_config.xml",rootDirectory);
-
-    // configXmlTmp
-    char configXmlTmp[250];
-    sprintf(configXmlTmp, "%s/bbtk_config.xml.tmp", bbtk_path);
-
-    // copyFile
-    char copyFile[250];
-
-    if (!Utilities::FileExists(configXmlTmp)) // bbtk_config.xml.tmp not found (not installed)
-      {
-       // if "bbtk_path/bbtk_config.xml.tmp" doesn't exist, hard-create a minimum version in .bbtk
-       CreateConfigXML( rootDirectory );// create .bbtk
-      }
-    else
-      {
-       sprintf(copyFile,"cp %s  %s/bbtk_config.xml ",configXmlTmp,rootDirectory );
-       if (!Utilities::FileExists(configPath))
-         {
-           system(copyFile);
-         }
-      }
-    return;
-
-    // ------------------------------------------------------------------
-#elif defined(WIN32)
-
+#if defined(WIN32)
 
     // installed bbtk_path
     char bbtk_path[100];
@@ -423,24 +379,75 @@ namespace bbtk
 
     sprintf(copyFile,"copy %s\\bbtk_config.xml.tmp \"%s\"\\bbtk_config.xml ",bbtk_path,rootDirectory );
 
-    int attribs = GetFileAttributes (rootDirectory);
+       WCHAR    rootDirectory2[200];
+       MultiByteToWideChar( 0,0, rootDirectory, 200, rootDirectory2, 6);
+       LPCWSTR rootDirectory3 = rootDirectory2;
+       int attribs = GetFileAttributes (rootDirectory3);
+//    int attribs = GetFileAttributes (rootDirectory3);
+       
+       
     bbtkMessage("config",1,std::hex << attribs << " " << FILE_ATTRIBUTE_DIRECTORY << std::endl);
     if ( attribs != 0xFFFFFFFF)
-      {
-       if ((attribs & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY ) /// \TODO : check !
-         {
-           if ( GetFileAttributes( configPath ) == 0xFFFFFFFF)
-             {
+    {
+               if ((attribs & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY ) /// \TODO : check !
+               {       
+                       WCHAR    configPath2[200];
+                       MultiByteToWideChar( 0,0, configPath, 200, configPath2, 6);
+                       LPCWSTR configPath3 = configPath2;
+                       if ( GetFileAttributes( configPath3 ) == 0xFFFFFFFF)
+                       //if ( GetFileAttributes( configPath ) == 0xFFFFFFFF)
+                       {
+                               system(copyFile);
+                       }
+               }
+    } else {
+               system(makeDir);
                system(copyFile);
-             }
-         }
-      }
-    else
-      {
-       system(makeDir);
-       system(copyFile);
-      }
+       }
+  return;
+    // ------------------------------------------------------------------
+#elif defined(__GNUC__)
+    // ------------------ create some usefull strings ----------------
+    // installed bbtk_path
+    char bbtk_path[1000];
+    strcpy(bbtk_path, Utilities::GetExecutablePath().c_str());  // JPR
+    //strcpy(bbtk_path, "/usr/local/bin");
+
+
+    std::string str_home=Utilities::GetEnvHome();
+
+       #if defined(WIN32)      
+               str_home="C:"+str_home;
+       #endif
+
+    // rootDirectory
+    char rootDirectory[200];
+    sprintf( rootDirectory,  "%s/.bbtk", str_home.c_str());
+
+    // configPath
+    char configPath[200];
+    sprintf(configPath, "%s/bbtk_config.xml",rootDirectory);
+
+    // configXmlTmp
+    char configXmlTmp[250];
+    sprintf(configXmlTmp, "%s/bbtk_config.xml.tmp", bbtk_path);
+
+    // copyFile
+    char copyFile[250];
+
+    if (!Utilities::FileExists(configXmlTmp)) // bbtk_config.xml.tmp not found (not installed)
+    {
+               // if "bbtk_path/bbtk_config.xml.tmp" doesn't exist, hard-create a minimum version in .bbtk
+               CreateConfigXML( rootDirectory );// create .bbtk
+    } else {
+               sprintf(copyFile,"cp %s  %s/bbtk_config.xml ",configXmlTmp,rootDirectory );
+               if (!Utilities::FileExists(configPath))
+               {
+                   system(copyFile);
+               } // FileExists configPath
+    } // FileExists configXmlTmp
     return;
+
     // ------------------------------------------------------------------
 #else
 /// \todo  ConfigurationFile::InstallPath() : exit when for not WIN32 and not__GNUC__
@@ -554,42 +561,76 @@ namespace bbtk
       }
    delete res;
 
+       std::string bbs_path;
 #ifdef _WIN32
-    std::string bbs_path = path + "/bbs";
+    bbs_path = path + "/bbs";
+    XMLNode BBSPATH = BB.addChild((XMLCSTR)"bbs_path");
+    BBSPATH.addText((XMLCSTR)bbs_path.c_str());
+    Utilities::replace(bbs_path, INVALID_FILE_SEPARATOR, VALID_FILE_SEPARATOR);
+    mBbs_paths.push_back(bbs_path);
 #else
-    std::string bbs_path = path + "/share/bbtk/bbs" ;
-#endif
+    bbs_path = path + "/share/bbtk/bbs" ;
     XMLNode BBSPATH = BB.addChild((XMLCSTR)"bbs_path");
     BBSPATH.addText((XMLCSTR)bbs_path.c_str());
     Utilities::replace(bbs_path, INVALID_FILE_SEPARATOR, VALID_FILE_SEPARATOR);
     mBbs_paths.push_back(bbs_path);
 
-#ifdef _WIN32
-    std::string pack_path = path + "/bin";
-#else
-    std::string pack_path = path ;
+    bbs_path = path + "/../../share/bbtk/bbs" ;
+    BBSPATH = BB.addChild((XMLCSTR)"bbs_path");
+    BBSPATH.addText((XMLCSTR)bbs_path.c_str());
+    Utilities::replace(bbs_path, INVALID_FILE_SEPARATOR, VALID_FILE_SEPARATOR);
+    mBbs_paths.push_back(bbs_path);
+
 #endif
+
+       std::string pack_path;
+#ifdef _WIN32
+    pack_path = path;
     XMLNode PACKPATH = BB.addChild((XMLCSTR)"package_path");
     PACKPATH.addText((XMLCSTR)pack_path.c_str());
     Utilities::replace(pack_path,INVALID_FILE_SEPARATOR,VALID_FILE_SEPARATOR);
     mPackage_paths.push_back(pack_path);
 
-#ifdef _WIN32
-    pack_path = path + "/RelWithDebInfo";
+    pack_path = path + "/bin";
     PACKPATH = BB.addChild((XMLCSTR)"package_path");
     PACKPATH.addText((XMLCSTR)pack_path.c_str());
     Utilities::replace(pack_path,INVALID_FILE_SEPARATOR,VALID_FILE_SEPARATOR);
     mPackage_paths.push_back(pack_path);
-    pack_path = path + "/Debug";
-    PACKPATH = BB.addChild((XMLCSTR)"package_path");
+
+//    pack_path = path + "/RelWithDebInfo";
+//    PACKPATH = BB.addChild((XMLCSTR)"package_path");
+//    PACKPATH.addText((XMLCSTR)pack_path.c_str());
+//    Utilities::replace(pack_path,INVALID_FILE_SEPARATOR,VALID_FILE_SEPARATOR);
+//    mPackage_paths.push_back(pack_path);
+
+//    pack_path = path + "/Debug";
+//    PACKPATH = BB.addChild((XMLCSTR)"package_path");
+//    PACKPATH.addText((XMLCSTR)pack_path.c_str());
+//    Utilities::replace(pack_path,INVALID_FILE_SEPARATOR,VALID_FILE_SEPARATOR);
+//    mPackage_paths.push_back(pack_path);
+
+//    pack_path = path + "/Release";
+//    PACKPATH = BB.addChild((XMLCSTR)"package_path");
+//    PACKPATH.addText((XMLCSTR)pack_path.c_str());
+//    Utilities::replace(pack_path,INVALID_FILE_SEPARATOR,VALID_FILE_SEPARATOR);
+//    mPackage_paths.push_back(pack_path);
+#else
+    pack_path = path ;
+    XMLNode PACKPATH = BB.addChild((XMLCSTR)"package_path");
     PACKPATH.addText((XMLCSTR)pack_path.c_str());
     Utilities::replace(pack_path,INVALID_FILE_SEPARATOR,VALID_FILE_SEPARATOR);
     mPackage_paths.push_back(pack_path);
-    pack_path = path + "/Release";
+
+    pack_path = path+"/../../lib64/creatools" ;
     PACKPATH = BB.addChild((XMLCSTR)"package_path");
     PACKPATH.addText((XMLCSTR)pack_path.c_str());
     Utilities::replace(pack_path,INVALID_FILE_SEPARATOR,VALID_FILE_SEPARATOR);
     mPackage_paths.push_back(pack_path);
+
+#endif
+
+
+#ifdef _WIN32
 #endif