]> SALOME platform Git repositories - tools/install.git/commitdiff
Salome HOME
Fix of IPAL20626: It is not possible to build products and Salome modules from source...
authorakl <akl@opencascade.com>
Sat, 22 Nov 2008 16:07:23 +0000 (16:07 +0000)
committerakl <akl@opencascade.com>
Sat, 22 Nov 2008 16:07:23 +0000 (16:07 +0000)
bin/SALOME_InstallWizard
src/SALOME_InstallWizard.cxx
src/SALOME_InstallWizard.hxx

index 51002ffde490823d5ba8a79322c2d1de81a1f3aa..ab2f7f38f926bc7ade1456e0c56fadc3410fc7a7 100755 (executable)
Binary files a/bin/SALOME_InstallWizard and b/bin/SALOME_InstallWizard differ
index 4feca9d649c23069191d8eb4ee3fba80d7495c32..b5ec6711bab3c16f6b075b65f256bb2ac6e9662d 100644 (file)
@@ -492,19 +492,6 @@ SALOME_InstallWizard::SALOME_InstallWizard(const QString& aXmlFileName,
   srcPath = QDir::currentDirPath() + "/Products/SOURCES";
   oneProdDirName = "PRODUCTS";
   
-  singleBinPlts << "Red Hat 8.0"
-               << "Red Hat 9"
-               << "Debian 3.1" 
-               << "Debian 4.0 64bit" 
-               << "Mandrake 10.1" 
-               << "Mandriva 2006.0" 
-               << "Mandriva 2006.0 64bit"
-               << "Mandriva 2007.0" 
-               << "Mandriva 2008.0" 
-               << "Mandriva 2008.0 64bit"
-               << "Red Hat Enterprise WS 4"
-               << "Scientific SL 4.2"
-               << "Scientific SL 4.3";
   commonPlatform = "Debian 3.1";
   
   //
@@ -514,6 +501,7 @@ SALOME_InstallWizard::SALOME_InstallWizard(const QString& aXmlFileName,
   curPlatform = currentPlatform().join(" ");
 //   cout << "curOS = " << curPlatform << endl;
 //   curPlatform = "";
+  refPlatform = "";
   // ... check XML and platform definition
   getXmlAndPlatform();
 
@@ -636,7 +624,7 @@ SALOME_InstallWizard::~SALOME_InstallWizard()
 QString SALOME_InstallWizard::getBasePlatform()
 {
   QString aBasePlt = "";
-  if ( singleBinPlts.contains(curPlatform) )
+  if ( platformsMap.find( curPlatform ) != platformsMap.end() )
     aBasePlt = curPlatform;
   else
     aBasePlt = commonPlatform;
@@ -773,8 +761,8 @@ void SALOME_InstallWizard::getXmlAndPlatform()
     if ( !curPlatform.isEmpty() ) {
       // try to get XML file for current platform
       if ( xmlMap.find( curPlatform ) != xmlMap.end() ) {
-       xmlFileName = xmlMap[ getBasePlatform() ];
-       QFileInfo fibp( getPlatformBinPath( getBasePlatform() ) );
+       xmlFileName = xmlMap[ curPlatform ];
+       QFileInfo fibp( getPlatformBinPath( curPlatform ) );
        if ( !fibp.isDir() ) {
          warnMsg = tr( "Binaries are absent for current platform" );
        }
@@ -1444,13 +1432,7 @@ bool SALOME_InstallWizard::acceptData( const QString& pageTitle )
       }
       else {
        // Supported platform case
-       QString aPlatform = curPlatform;
-       if ( curPlatform != getBasePlatform() ) {
-         refPlatform = getBasePlatform();
-         xmlFileName = platformsMap[ refPlatform ];
-         aPlatform = getPlatform();
-       }
-       QFileInfo fibp( getPlatformBinPath( aPlatform ) );
+       QFileInfo fibp( getPlatformBinPath( curPlatform ) );
        if ( !fibp.isDir() ) {
          warnLab->setText( tr( "Binaries are absent for current platform." ) );
          this->setAppropriate( platformsPage, true );
@@ -2080,7 +2062,7 @@ void SALOME_InstallWizard::launchScript()
 
     // ... get folder with binaries
     QString OS = getPlatform();
-    if ( refPlatform.isEmpty() && singleBinPlts.contains(curPlatform) == 0 )
+    if ( refPlatform.isEmpty() && platformsMap.find( curPlatform ) == platformsMap.end() )
       OS = commonPlatform;
     QString binDir = getPlatformBinPath( OS );
     // ... temp folder
@@ -2478,6 +2460,8 @@ void SALOME_InstallWizard::pageChanged( const QString & mytitle)
     if ( buttonGrp->id( buttonGrp->selected() ) == -1 )
       // set default installation type
       forceSrc ? srcCompileBtn->animateClick() : binBtn->animateClick();
+    else
+      buttonGrp->selected()->animateClick();
   }
   else if ( aPage == platformsPage ) {
     // installation platforms page
@@ -2496,7 +2480,9 @@ void SALOME_InstallWizard::pageChanged( const QString & mytitle)
          QFileInfo fis( QDir::cleanDirPath( getSrcPath() ) );
          rb->setEnabled( fis.exists() );
        }
-       rb->setChecked( rb->isChecked() && rb->isEnabled() );
+//     rb->setChecked( rb->isChecked() && rb->isEnabled() );
+       if ( rb->isChecked() && rb->isEnabled() )
+         rb->animateClick();
       }
       setNextEnabled( platformsPage, platBtnGrp->id( platBtnGrp->selected() ) != -1 );
     }
@@ -2621,10 +2607,12 @@ void SALOME_InstallWizard::onButtonGroup( int rbIndex )
     removeSrcBtn->setEnabled( installType == Compile );
     oneModDirBtn->setEnabled( installType == Binaries /*|| installType == Compile*/ );
     oneProdDirBtn->setEnabled( installType == Binaries || installType == Compile );
+    refPlatform = "";
+    xmlFileName = getXmlFile( curPlatform );
   }
   else if ( aPage == platformsPage ) {
     refPlatform = platBtnGrp->find( rbIndex )->name();
-    xmlFileName = platformsMap[ refPlatform ];
+    xmlFileName = getXmlFile( refPlatform );
     setNextEnabled( platformsPage, true );
   }
   if ( prevType != installType || 
index 6165010d2f6e0b4f8713bce1fcfd8112e25504d4..3d18fac874912424587fe1e09d9e27b45fb1b5b8 100644 (file)
@@ -215,7 +215,13 @@ class SALOME_InstallWizard: public InstallWizard
   // get license
   QString getLicense() { return myLicense; }
   // get platform
-  QString getPlatform() { return refPlatform ? refPlatform : curPlatform; }
+  QString getPlatform() { return !refPlatform.isEmpty() ? refPlatform : curPlatform; }
+  // get corresponding XML file
+  QString getXmlFile( const QString& platform ) {
+    return (platformsMap.find( platform ) != platformsMap.end() ) ? 
+      platformsMap[ platform ] : 
+      QString("");
+  }
   // get InstallWizard's name
   QString getIWName() { return myIWName; }
 
@@ -367,7 +373,6 @@ class SALOME_InstallWizard: public InstallWizard
   QString          srcPath;        // sources path
   QString          oneProdDirName; // name of the single directory for binaries of prerequisites
   QString          commonPlatform; // platform with universal binaries
-  QStringList      singleBinPlts;  // list of platforms for that the special binary packages are exist
   bool             moreMode;       // advanced mode flag
   QWidget*         previousPage;   // previous page
   QString          tmpCreated;     // created temporary directory