Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Tobias Hunger
qt-creator
Commits
f35a0f54
Commit
f35a0f54
authored
Jul 27, 2009
by
dt
Browse files
Some steps towards making qmakestep and makestep not mandotary.
Also fix a small bug with the import label.
parent
a4bb16c9
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/plugins/qt4projectmanager/qmakestep.cpp
View file @
f35a0f54
...
...
@@ -116,7 +116,7 @@ bool QMakeStep::init(const QString &name)
if
(
QDir
(
workingDirectory
).
exists
(
QLatin1String
(
"Makefile"
)))
{
QString
qtPath
=
QtVersionManager
::
findQtVersionFromMakefile
(
workingDirectory
);
if
(
qtVersion
->
path
()
==
qtPath
)
{
needToRunQMake
=
m_pro
->
compareBuildConfigurationToImportFrom
(
name
,
workingDirectory
);
needToRunQMake
=
!
m_pro
->
compareBuildConfigurationToImportFrom
(
name
,
workingDirectory
);
}
}
...
...
src/plugins/qt4projectmanager/qt4project.cpp
View file @
f35a0f54
...
...
@@ -724,7 +724,7 @@ void Qt4Project::addDefaultBuild()
// Migrate settings
QMakeStep
*
qs
=
qmakeStep
();
foreach
(
const
QString
&
buildConfiguration
,
buildConfigurations
())
{
QVariant
v
=
qs
->
value
(
buildConfiguration
,
"buildConfiguration"
);
QVariant
v
=
qs
?
qs
->
value
(
buildConfiguration
,
"buildConfiguration"
)
:
QVariant
()
;
if
(
v
.
isValid
())
{
qs
->
setValue
(
buildConfiguration
,
"buildConfiguration"
,
QVariant
());
setValue
(
buildConfiguration
,
"buildConfiguration"
,
v
);
...
...
@@ -736,6 +736,7 @@ void Qt4Project::addDefaultBuild()
}
}
// Restoring configuration
foreach
(
const
QString
&
bc
,
buildConfigurations
())
{
setValue
(
bc
,
"addQDumper"
,
QVariant
());
...
...
@@ -1137,9 +1138,11 @@ QString Qt4Project::extractSpecFromArgumentList(const QStringList &list)
return
QString
();
}
// returns true if both are equal
bool
Qt4Project
::
compareBuildConfigurationToImportFrom
(
const
QString
&
buildConfiguration
,
const
QString
&
workingDirectory
)
{
if
(
QDir
(
workingDirectory
).
exists
(
QLatin1String
(
"Makefile"
)))
{
QMakeStep
*
qs
=
qmakeStep
();
if
(
QDir
(
workingDirectory
).
exists
(
QLatin1String
(
"Makefile"
))
&&
qs
)
{
QString
qtPath
=
QtVersionManager
::
findQtVersionFromMakefile
(
workingDirectory
);
QtVersion
*
version
=
qtVersion
(
buildConfiguration
);
if
(
version
->
path
()
==
qtPath
)
{
...
...
@@ -1151,7 +1154,7 @@ bool Qt4Project::compareBuildConfigurationToImportFrom(const QString &buildConfi
// now compare arguments lists
// we have to compare without the spec/platform cmd argument
// and compare that on its own
QString
actualSpec
=
extractSpecFromArgumentList
(
q
makeStep
()
->
value
(
buildConfiguration
,
"qmakeArgs"
).
toStringList
());
QString
actualSpec
=
extractSpecFromArgumentList
(
q
s
->
value
(
buildConfiguration
,
"qmakeArgs"
).
toStringList
());
if
(
actualSpec
.
isEmpty
())
actualSpec
=
version
->
mkspec
();
QString
parsedSpec
=
extractSpecFromArgumentList
(
result
.
second
);
...
...
@@ -1176,7 +1179,7 @@ bool Qt4Project::compareBuildConfigurationToImportFrom(const QString &buildConfi
if
(
QFileInfo
(
parsedSpec
).
isRelative
())
parsedSpec
=
QDir
::
cleanPath
(
workingDirectory
+
"/"
+
parsedSpec
);
QStringList
actualArgs
=
removeSpecFromArgumentList
(
q
makeStep
()
->
value
(
buildConfiguration
,
"qmakeArgs"
).
toStringList
());
QStringList
actualArgs
=
removeSpecFromArgumentList
(
q
s
->
value
(
buildConfiguration
,
"qmakeArgs"
).
toStringList
());
QStringList
parsedArgs
=
removeSpecFromArgumentList
(
result
.
second
);
#ifdef Q_OS_WIN
...
...
@@ -1190,11 +1193,11 @@ bool Qt4Project::compareBuildConfigurationToImportFrom(const QString &buildConfi
qDebug
()
<<
"Parsed spec:"
<<
parsedSpec
;
if
(
actualArgs
==
parsedArgs
&&
actualSpec
==
parsedSpec
)
return
fals
e
;
return
tru
e
;
}
}
}
return
tru
e
;
return
fals
e
;
}
...
...
src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
View file @
f35a0f54
...
...
@@ -201,16 +201,23 @@ void Qt4ProjectConfigWidget::updateImportLabel()
{
bool
visible
=
false
;
QString
qtPath
=
QtVersionManager
::
findQtVersionFromMakefile
(
m_pro
->
buildDirectory
(
m_buildConfiguration
));
QtVersion
*
version
=
m_pro
->
qtVersion
(
m_buildConfiguration
);
if
(
!
qtPath
.
isEmpty
())
{
if
(
qtPath
!=
(
version
?
version
->
path
()
:
QString
()))
{
visible
=
true
;
// we only show if we actually have a qmake and makestep
if
(
m_pro
->
qmakeStep
()
&&
m_pro
->
makeStep
())
{
QString
qtPath
=
QtVersionManager
::
findQtVersionFromMakefile
(
m_pro
->
buildDirectory
(
m_buildConfiguration
));
QtVersion
*
version
=
m_pro
->
qtVersion
(
m_buildConfiguration
);
// check that there's a makefile
if
(
!
qtPath
.
isEmpty
())
{
// and that the makefile path is different from the current version
if
(
qtPath
!=
(
version
?
version
->
path
()
:
QString
()))
{
// import enable
visible
=
true
;
}
else
{
// check that the qmake flags, arguments match
visible
=
!
m_pro
->
compareBuildConfigurationToImportFrom
(
m_buildConfiguration
,
m_pro
->
buildDirectory
(
m_buildConfiguration
));
}
}
else
{
visible
=
!
m_pro
->
compareBuildConfigurationToImportFrom
(
m_buildConfiguration
,
m_pro
->
buildDirectory
(
m_buildConfiguration
))
;
visible
=
false
;
}
}
else
{
visible
=
false
;
}
m_ui
->
importLabel
->
setVisible
(
visible
);
...
...
@@ -231,6 +238,8 @@ void Qt4ProjectConfigWidget::shadowBuildLineEditTextChanged()
void
Qt4ProjectConfigWidget
::
importLabelClicked
()
{
if
(
!
m_pro
->
qmakeStep
()
||
!
m_pro
->
makeStep
())
return
;
QString
directory
=
m_pro
->
buildDirectory
(
m_buildConfiguration
);
if
(
!
directory
.
isEmpty
())
{
QString
qtPath
=
QtVersionManager
::
findQtVersionFromMakefile
(
directory
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment