[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kdevelop-devel
Subject:    Re: CMake plugin crashes with cmake 2.6.3 rc4 FindQt4.cmake
From:       Aleix <aleixpol () gmail ! com>
Date:       2008-11-16 19:29:50
Message-ID: 757d9a550811161129q353449b7r27303d81bccbb796 () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Well, looks like they added () into the conditions, so that will have to be
added in the cmakeconditon class, I'll try to run into that during this
week.

On Sun, Nov 16, 2008 at 6:48 PM, Andreas Pakulat <apaku@gmx.de> wrote:

> Hi,
>
> finally I found out why cmake support crashes here and on my work-machine.
> It apparently cannot handle the following condition:
>
>  # ask qmake for the binary dir
>  IF ((QT_LIBRARY_DIR AND NOT QT_BINARY_DIR) OR QT_QMAKE_CHANGED)
>     EXEC_PROGRAM(${QT_QMAKE_EXECUTABLE}
>       ARGS "-query QT_INSTALL_BINS"
>       OUTPUT_VARIABLE qt_bins )
>     # make sure we have / and not \ as qmake gives on windows
>     FILE(TO_CMAKE_PATH "${qt_bins}" qt_bins)
>     SET(QT_BINARY_DIR ${qt_bins} CACHE INTERNAL "" FORCE)
>  ENDIF ((QT_LIBRARY_DIR AND NOT QT_BINARY_DIR) OR QT_QMAKE_CHANGED)
>
> The probelm is that for some reason the IfAst's condition is an empty list,
> which means CMakeCondition::condition and the called functions break
> (because it assumes that constBegin != constEnd, in particular that there's
> at least 1 entry in the list).
>
> I've fixed the crash, with a expression.isEmpty() in
> CMakeCondition::condition(), but someone more familiar with the parser
> should look into why it creates an empty expression-list in the first
> place.
>
> Andreas
>
> --
> You are a fluke of the universe; you have no right to be here.
>
> _______________________________________________
> KDevelop-devel mailing list
> KDevelop-devel@kdevelop.org
> https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel
>

[Attachment #5 (text/html)]

Well, looks like they added () into the conditions, so that will have to be added in \
the cmakeconditon class, I&#39;ll try to run into that during this week.<br><br><div \
class="gmail_quote">On Sun, Nov 16, 2008 at 6:48 PM, Andreas Pakulat <span \
dir="ltr">&lt;<a href="mailto:apaku@gmx.de">apaku@gmx.de</a>&gt;</span> wrote:<br> \
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); \
margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi,<br> <br>
finally I found out why cmake support crashes here and on my work-machine.<br>
It apparently cannot handle the following condition:<br>
<br>
 &nbsp;# ask qmake for the binary dir<br>
 &nbsp;IF ((QT_LIBRARY_DIR AND NOT QT_BINARY_DIR) OR QT_QMAKE_CHANGED)<br>
 &nbsp; &nbsp; EXEC_PROGRAM(${QT_QMAKE_EXECUTABLE}<br>
 &nbsp; &nbsp; &nbsp; ARGS &quot;-query QT_INSTALL_BINS&quot;<br>
 &nbsp; &nbsp; &nbsp; OUTPUT_VARIABLE qt_bins )<br>
 &nbsp; &nbsp; # make sure we have / and not \ as qmake gives on windows<br>
 &nbsp; &nbsp; FILE(TO_CMAKE_PATH &quot;${qt_bins}&quot; qt_bins)<br>
 &nbsp; &nbsp; SET(QT_BINARY_DIR ${qt_bins} CACHE INTERNAL &quot;&quot; FORCE)<br>
 &nbsp;ENDIF ((QT_LIBRARY_DIR AND NOT QT_BINARY_DIR) OR QT_QMAKE_CHANGED)<br>
<br>
The probelm is that for some reason the IfAst&#39;s condition is an empty list,<br>
which means CMakeCondition::condition and the called functions break<br>
(because it assumes that constBegin != constEnd, in particular that there&#39;s<br>
at least 1 entry in the list).<br>
<br>
I&#39;ve fixed the crash, with a expression.isEmpty() in<br>
CMakeCondition::condition(), but someone more familiar with the parser<br>
should look into why it creates an empty expression-list in the first<br>
place.<br>
<br>
Andreas<br>
<font color="#888888"><br>
--<br>
You are a fluke of the universe; you have no right to be here.<br>
<br>
_______________________________________________<br>
KDevelop-devel mailing list<br>
<a href="mailto:KDevelop-devel@kdevelop.org">KDevelop-devel@kdevelop.org</a><br>
<a href="https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel" \
target="_blank">https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel</a><br>
 </font></blockquote></div><br>



_______________________________________________
KDevelop-devel mailing list
KDevelop-devel@kdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic