From: akl Date: Sat, 22 Nov 2008 16:07:23 +0000 (+0000) Subject: Fix of IPAL20626: It is not possible to build products and Salome modules from source... X-Git-Tag: V4_1_4~19 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=bd79eec125654b3b6abeba902d2133d27bdeb998;p=tools%2Finstall.git Fix of IPAL20626: It is not possible to build products and Salome modules from source files by IW. --- diff --git a/bin/SALOME_InstallWizard b/bin/SALOME_InstallWizard index 51002ff..ab2f7f3 100755 Binary files a/bin/SALOME_InstallWizard and b/bin/SALOME_InstallWizard differ diff --git a/src/SALOME_InstallWizard.cxx b/src/SALOME_InstallWizard.cxx index 4feca9d..b5ec671 100644 --- a/src/SALOME_InstallWizard.cxx +++ b/src/SALOME_InstallWizard.cxx @@ -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 || diff --git a/src/SALOME_InstallWizard.hxx b/src/SALOME_InstallWizard.hxx index 6165010..3d18fac 100644 --- a/src/SALOME_InstallWizard.hxx +++ b/src/SALOME_InstallWizard.hxx @@ -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