]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkConfigurationFile.cxx
Merge branch 'vtk8itk4wx3-mingw64' of ssh://git.creatis.insa-lyon.fr/bbtk into vtk8it...
[bbtk.git] / kernel / src / bbtkConfigurationFile.cxx
index e6e7926b58849758ffec64ef0a94f5570c7b80c5..e5b852945184c23a50ca9cd2aaa0b1e76b6af827 100644 (file)
@@ -342,105 +342,114 @@ namespace bbtk
 
 
     // -----------------------------------------------------------------
-#if defined(__GNUC__)
+#if defined(WIN32)
 
-    // ------------------ 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();
-
+    char bbtk_path[100];
+    strcpy(bbtk_path, "\"c:\\Program Files\\BBTK\\bin\"");
+    char bbtk_path2[100];
+    strcpy(bbtk_path2, "c:\\Program Files\\BBTK\\bin");
 
     // rootDirectory
     char rootDirectory[200];
-    sprintf( rootDirectory,  "%s/.bbtk", str_home.c_str());
+    sprintf(rootDirectory, "%s\\.bbtk",getenv("USERPROFILE"));
+    //  std::cout << "[" << rootDirectory << "]" << std::endl;
 
     // configPath
     char configPath[200];
-    sprintf(configPath, "%s/bbtk_config.xml",rootDirectory);
+    sprintf(configPath, "%s\\bbtk_config.xml",rootDirectory);
+
+    // makeDir
+    char makeDir[250];
+    sprintf( makeDir, "mkdir \"%s\" ", rootDirectory);
 
     // configXmlTmp
     char configXmlTmp[250];
-    sprintf(configXmlTmp, "%s/bbtk_config.xml.tmp", bbtk_path);
+    sprintf(configXmlTmp, "%s\\bbtk_config.xml.tmp", bbtk_path2);
 
     // copyFile
     char copyFile[250];
 
-    if (!Utilities::FileExists(configXmlTmp)) // bbtk_config.xml.tmp not found (not installed)
+    if (!Utilities::FileExists(configXmlTmp)) // bbtk_config.xml.tmp not found
       {
        // if "bbtk_path/bbtk_config.xml.tmp" doesn't exist, hard-create a minimum version in .bbtk
        CreateConfigXML( rootDirectory );// create .bbtk
+       return;
       }
-    else
-      {
-       sprintf(copyFile,"cp %s  %s/bbtk_config.xml ",configXmlTmp,rootDirectory );
-       if (!Utilities::FileExists(configPath))
-         {
-           system(copyFile);
-         }
-      }
-    return;
 
+    sprintf(copyFile,"copy %s\\bbtk_config.xml.tmp \"%s\"\\bbtk_config.xml ",bbtk_path,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 !
+               {       
+                       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);
+       }
+  return;
     // ------------------------------------------------------------------
-#elif defined(WIN32)
+#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");
 
 
-    // installed bbtk_path
-    char bbtk_path[100];
-    strcpy(bbtk_path, "\"c:\\Program Files\\BBTK\\bin\"");
-    char bbtk_path2[100];
-    strcpy(bbtk_path2, "c:\\Program Files\\BBTK\\bin");
+    std::string str_home=Utilities::GetEnvHome();
+
+       #if defined(WIN32)      
+               str_home="C:"+str_home;
+       #endif
 
     // rootDirectory
     char rootDirectory[200];
-    sprintf(rootDirectory, "%s\\.bbtk",getenv("USERPROFILE"));
-    //  std::cout << "[" << rootDirectory << "]" << std::endl;
+    sprintf( rootDirectory,  "%s/.bbtk", str_home.c_str());
 
     // configPath
     char configPath[200];
-    sprintf(configPath, "%s\\bbtk_config.xml",rootDirectory);
-
-    // makeDir
-    char makeDir[250];
-    sprintf( makeDir, "mkdir \"%s\" ", rootDirectory);
+    sprintf(configPath, "%s/bbtk_config.xml",rootDirectory);
 
     // configXmlTmp
     char configXmlTmp[250];
-    sprintf(configXmlTmp, "%s\\bbtk_config.xml.tmp", bbtk_path2);
+    sprintf(configXmlTmp, "%s/bbtk_config.xml.tmp", bbtk_path);
 
     // copyFile
     char copyFile[250];
 
-    if (!Utilities::FileExists(configXmlTmp)) // bbtk_config.xml.tmp not found
+    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
-       return;
       }
-
-    sprintf(copyFile,"copy %s\\bbtk_config.xml.tmp \"%s\"\\bbtk_config.xml ",bbtk_path,rootDirectory );
-
-    int attribs = GetFileAttributes (rootDirectory);
-    bbtkMessage("config",1,std::hex << attribs << " " << FILE_ATTRIBUTE_DIRECTORY << std::endl);
-    if ( attribs != 0xFFFFFFFF)
+    else
       {
-       if ((attribs & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY ) /// \TODO : check !
+       sprintf(copyFile,"cp %s  %s/bbtk_config.xml ",configXmlTmp,rootDirectory );
+       if (!Utilities::FileExists(configPath))
          {
-           if ( GetFileAttributes( configPath ) == 0xFFFFFFFF)
-             {
-               system(copyFile);
-             }
+           system(copyFile);
          }
       }
-    else
-      {
-       system(makeDir);
-       system(copyFile);
-      }
     return;
+
     // ------------------------------------------------------------------
 #else
 /// \todo  ConfigurationFile::InstallPath() : exit when for not WIN32 and not__GNUC__