// ==> Set system paths
mBin_path = Utilities::GetExecutablePath();
+
/* EED 23 Mars 2009
#ifdef MACOSX
mInstall_path = mBin_path + "/../../../..";
}
#endif
+
///\TODO : better use ??
mInstall_path = mBin_path + "/..";
Utilities::replace( mBbs_paths[iStrVec] , INVALID_FILE_SEPARATOR , VALID_FILE_SEPARATOR);
}
-
// always add "." (current working directory) at the begining
mPackage_paths.push_back(".");
// add system bin path (for build tree / standalone folder install)
// In any case, deal with bbtk_config.xml!
Read(configXmlFullPathName.c_str());
+
}
//=========================================================================
if (!Utilities::FileExists(mDot_bbtk_path)) mDot_bbtk_is_new = true;
Utilities::CreateDirectoryIfNeeded(mDot_bbtk_path);
+
mDoc_path = Utilities::MakeUserSettingsFullFileName("doc");
Utilities::CreateDirectoryIfNeeded(mDoc_path);
mTemp_path = Utilities::MakeUserSettingsFullFileName("tmp");
Utilities::CreateDirectoryIfNeeded(mTemp_path);
+
}
//=========================================================================
// -----------------------------------------------------------------
-#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");
+ 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", getenv("HOME"));
+ 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__