[cmake-developers] [CMake 0011672]: FindQt4.cmake sometimes fails due to exec_program misbehavior
Mantis Bug Tracker
mantis at public.kitware.com
Mon Jan 10 06:54:30 EST 2011
The following issue has been SUBMITTED.
======================================================================
http://www.cmake.org/Bug/view.php?id=11672
======================================================================
Reported By: Alexander
Assigned To:
======================================================================
Project: CMake
Issue ID: 11672
Category: CMake
Reproducibility: always
Severity: major
Priority: normal
Status: new
======================================================================
Date Submitted: 2011-01-10 06:54 EST
Last Modified: 2011-01-10 06:54 EST
======================================================================
Summary: FindQt4.cmake sometimes fails due to exec_program
misbehavior
Description:
FindQt4.cmake uses exec_program() call to retrieve configuration values from
qmake, such as QT_VERSION, QT_INSTALL_LIBS or whatever.
However, in my tests exec_program() call sometimes delivers empty output, so
FindQt4 module reports errors like these ones (FindQt4.cmake was modified to
output intermediate variables):
[Debugging output starts here]
Running C:/Hudson/Common/ThirdParty/qt/win32/bin/qmake.exe with arg QT_VERSION
Got return code 0 and output 4.7.1
Converted output path to 4.7.1 and recorded to QTVERSION
Running C:/Hudson/Common/ThirdParty/qt/win32/bin/qmake.exe with arg
QMAKE_MKSPECS
Got return code 0 and output C:/Hudson/Common/ThirdParty/qt\mkspecs
Converted output path to C:/Hudson/Common/ThirdParty/qt/mkspecs and recorded to
qt_mkspecs_dirs
Running C:/Hudson/Common/ThirdParty/qt/win32/bin/qmake.exe with arg
QT_INSTALL_LIBS
Got return code 0 and output
Converted output path to and recorded to QT_LIBRARY_DIR_TMP
[Debugging output ends here]
Warning: QT_QMAKE_EXECUTABLE reported QT_INSTALL_LIBS as
Warning: But QtCore couldn't be found. Qt must NOT be installed correctly, or
it wasn't found for cross compiling.
CMake Error at C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/FindQt4.cmake:642 (MESSAGE):
Could NOT find QtCore.
The script qmakeTest.cmake, when run as cmake -P qmakeTest.cmake reproduces this
problem approximately ones per several hundreds iterations.
It should be noted that if first part of the script (which uses exec_program) is
commented and second part (which uses execute_process) is used instead, things
work fine (up to 10,000 iterations - the max I had the time to wait for ;-) ),
so, considering exec_program is deprecated, the way to fix this seems to be just
to replace exec_program with execute_process.
The primary testing environment was Windows 7 64 bit installed in VirtualBox
3.2.12, though I've got similar error, I believe, on native Windows 7 64 bit
installation too.
======================================================================
Issue History
Date Modified Username Field Change
======================================================================
2011-01-10 06:54 Alexander New Issue
2011-01-10 06:54 Alexander File Added: qmakeTest.cmake
======================================================================
More information about the cmake-developers
mailing list