]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkConfigurationFile.cxx
*** empty log message ***
[bbtk.git] / kernel / src / bbtkConfigurationFile.cxx
index 1dd5780150951a1384e8d10c127799930cb4423c..8181a6aef371991c66bfa01cfe4a7a0eaf9ab4a8 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkConfigurationFile.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/02/14 09:57:18 $
-  Version:   $Revision: 1.6 $
+  Date:      $Date: 2008/03/03 08:06:36 $
+  Version:   $Revision: 1.12 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See doc/license.txt or
@@ -36,6 +36,7 @@ namespace bbtk
   /// Constructor
   ConfigurationFile::ConfigurationFile()
   {
+
     // file separator
 #if defined(_WIN32)
     mFile_separator = "\\";
@@ -43,11 +44,12 @@ namespace bbtk
     mFile_separator = "/";
 #endif
     
-    // ==> Set system paths
+    // ==> Set system paths 
     mBin_path = GetExecutablePath();
     mInstall_path = mBin_path + mFile_separator + "..";
     // The relative path to the doc folder (=BBTK_DOC_REL_PATH)
     mDoc_rel_path = BBTK_STRINGIFY_SYMBOL(BBTK_DOC_REL_PATH);
+//EED    mDoc_rel_path = BBTK_STRINGIFY_SYMBOL(doc);
     // The path to the doc folder (=mInstall_path+"/"+mDoc_rel_path)
     mDoc_path = mInstall_path + mFile_separator + mDoc_rel_path;
     // The relative path to the doc folder (=BBTK_BBS_REL_PATH)
@@ -67,7 +69,6 @@ namespace bbtk
     bbtkMessage("Config",1," ==> prefix : '"<<mInstall_path<<"'"<<std::endl);
     bbtkMessage("Config",1," ==> doc    : '"<<mDoc_path<<"'"<<std::endl);
     bbtkMessage("Config",1," ==> bbs    : '"<<mBbs_path<<"'"<<std::endl);
-    //   bbtkMessage("Config",1," ==> rsc    : '"<<mRsc_path<<"'"<<std::endl);
     bbtkMessage("Config",1," ==> data   : '"<<mData_path<<"'"<<std::endl);
     
     
@@ -76,22 +77,34 @@ namespace bbtk
     mBbs_paths.push_back("."); 
     // add system bbs path 
     mBbs_paths.push_back(mBbs_path);
+    // add toolsbbtk/appli 
+    std::string toolsappli_rel_path(mFile_separator);
+    toolsappli_rel_path +=  "toolsbbtk" + mFile_separator + "appli";
+    mBbs_paths.push_back(mBbs_path + toolsappli_rel_path);
+#ifdef WIN32
+    //EED for windows BUILD tree
+    std::string winbbspath = mInstall_path + mFile_separator + ".." + mFile_separator + mBbs_rel_path;
+    mBbs_paths.push_back(winbbspath);
+    // add toolsbbtk/appli 
+    mBbs_paths.push_back(winbbspath + toolsappli_rel_path);
+#endif
+
+   
     
     // always add "." (current working directory) at the begining
     mPackage_paths.push_back(".");   
-#ifdef UNIX
-    // add system bin path (for build tree)
-    // mPackage_paths.push_back(mBin_path);
+    // add system bin path (for build tree / standalone folder install)
+    mPackage_paths.push_back(mBin_path);
     // add system lib path (for install tree)
     mPackage_paths.push_back(mInstall_path + mFile_separator + "lib");
-#endif
 #ifdef WIN32
     // add bin/Debug bin/Release paths (for build/install tree)
     mPackage_paths.push_back(mBin_path + mFile_separator + "Debug");
     mPackage_paths.push_back(mBin_path + mFile_separator + "Release");
 #endif
     
-    
+    GetHelp(2);
+   
     // ==> First we look for bbtk_config.xml in "."
     char buf[2048];
     const char *currentDir = getcwd(buf, 2048);
@@ -429,8 +442,53 @@ namespace bbtk
        size_t pos = mConfig_xml_full_path.find("bbtk_config.xml");
        mDefault_temp_dir = mConfig_xml_full_path.substr (0,pos); 
       }    
-    
+
+    GetHelp(2);
   }
   //=========================================================================
+  
+
+  //=========================================================================
+  void ConfigurationFile::GetHelp(int level) const
+  {
+    bbtkDebugMessageInc("Config",9,"ConfigurationFile::GetHelp("<<level
+                       <<")"<<std::endl);
+    
+    const std::string config_xml_full_path      = Get_config_xml_full_path();    
+    const std::string description               = Get_description();
+    const std::string url                       = Get_doc_path();
+    const std::string data_path                 = Get_data_path();
+    const std::string default_temp_dir          = Get_default_temp_dir();    
+    const std::string file_separator            = Get_file_separator();    
+    const std::vector<std::string>bbs_paths     = Get_bbs_paths();
+    const std::vector<std::string>package_paths = Get_package_paths();
+    
+    bbtkMessage("Help",level, "============="   << std::endl);           
+    bbtkMessage("Help",level, "Configuration"   << std::endl);
+    bbtkMessage("Help",level, "============="   << std::endl);
+    bbtkMessage("Help",level, "bbtk_config.xml    : [" << config_xml_full_path  << "]" << std::endl); 
+    bbtkMessage("Help",level, "Documentation Path : [" << url             << "]" << std::endl);
+    bbtkMessage("Help",level, "Data Path          : [" << data_path       << "]" << std::endl);
+    bbtkMessage("Help",level, "Temp Directory     : [" << default_temp_dir << "]" << std::endl);
+    bbtkMessage("Help",level, "File Separator     : [" << file_separator  << "]" << std::endl);
+
+    std::vector<std::string>::const_iterator i;
+           
+    bbtkMessage("Help",level, "BBS Paths   " << std::endl);     
+    for (i = bbs_paths.begin(); i!=bbs_paths.end(); ++i )
+    {
+      bbtkMessage("Help",level,"--- ["<<*i<<"]"<<std::endl);
+    }    
+    
+    bbtkMessage("Help",level, "PACKAGE Paths : " << std::endl);     
+    for (i = package_paths.begin(); i!=package_paths.end(); ++i )
+    {
+      bbtkMessage("Help",level,"--- ["<<*i<<"]"<<std::endl);
+    }
+
+    bbtkDebugDecTab("Config",9);
+  }
+  //=========================================================================
+
 
 } // namespace bbtk