[cmake-developers] [CMake 0013433]: fixup_qt4_executable fails on Linux when used with CPack or DESTDIR

Mantis Bug Tracker mantis at public.kitware.com
Tue Jul 24 01:36:24 EDT 2012


The following issue has been SUBMITTED. 
====================================================================== 
http://public.kitware.com/Bug/view.php?id=13433 
====================================================================== 
Reported By:                Craig Scott
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   13433
Category:                   Modules
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2012-07-24 01:36 EDT
Last Modified:              2012-07-24 01:36 EDT
====================================================================== 
Summary:                    fixup_qt4_executable fails on Linux when used with
CPack or DESTDIR
Description: 
When CPack is used on a build where cmake has been run to set up the packaging,
the fixup_qt4_executable() functon (defined in the DeployQt4 module) complains
that it cannot find the executable. This only occurs on Linux. The same files
work as expected on Windows (I don't have access to Mac to test on there,
sorry).

What is interesting is that if I look at the cmake_install.cmake file that is
generated by CMake, both contain a line like one of the following:

FIXUP_QT4_EXECUTABLE("${CMAKE_INSTALL_PREFIX}/bin/myExe" "" ""
"/usr/lib64;/usr/lib64/qt4/bin" "" "")

FIXUP_QT4_EXECUTABLE("${CMAKE_INSTALL_PREFIX}/bin/myExe.exe" "" ""
"C:/QtSDK/Desktop/Qt/4.8.1/msvc2008/lib;C:/QtSDK/Desktop/Qt/4.8.1/msvc2008/bin"
"" "")

If I run CPack on these, it works fine on Windows, but on Linux it complains
that it cannot find the executable. It is as though the DESTDIR used by CPack to
get "make install" to install to a private area is not understood by
fixup_qt4_executable(). Why it works on Windows but not on Linux is unclear. I
also confirm that simply doing a "make DESTDIR=somewhere install" also fails in
a similar fashion, so it is not a problem with CPack.

Steps to Reproduce: 
See the simple example (I'll attach the files shortly). On linux, run cmake and
then do a make install with DESTDIR set to somewhere.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2012-07-24 01:36 Craig Scott    New Issue                                    
2012-07-24 01:36 Craig Scott    File Added: CMakeLists.txt                    
======================================================================




More information about the cmake-developers mailing list