| Summary: | FileBuffer misbehaves on scopes | ||
|---|---|---|---|
| Product: | [Applications] kdevelop | Reporter: | Holger Freyther <freyther> |
| Component: | Build tools: QMake | Assignee: | KDevelop Developers <kdevelop-devel> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
the pasing of qmake commands are wron and should be fixed,
but constructs like:
----------------------------------
contains( SOME_VAR, foo-bar )
{
foo {
TEMPLATE = lib
}else {
TEMPLATE = something_different
TARGET = bar
}
}
-------------------------------
cannot be parsed by the kdevelop qmake-parse i think...
|
Version: KDE_3_2_BRANCH (using KDE KDE 3.2.0) Installed from: Compiled From Sources Compiler: gcc-Version 3.3.3 20040125 (prerelease) (Debian) The parsers in FileBuffer and Trollprojectwidget misbehaves in regards to scopes. First system( rm $${TARGET} ) gets parsed as a scope but is perfectly valid with qmake. Then also if you've something like these TEMPLATE = app CONFIG += foo SOME_VAR = $$(SOME_VAR) contains( SOME_VAR, foo-bar ){ foo { TEMPLATE = lib }else { TEMPLATE = something_different TARGET = bar } } The scope does not get ignored and TEMPLATE and TARGET are getting picked from the last version. Here from within the scope. Now if you configre the qmake project. Target will be bar and the TEMPLATE will be different as well.