Re: [CMake] FindQt in a Specific place?
On Jan 13, 2010, at 4:58 PM, Andreas Pakulat wrote: On 13.01.10 13:34:34, clin...@elemtech.com wrote: I've also seen people put a qt.conf file in the Qt installation, to override the compiled-in paths. That's probably how its done by the Windows installer. Thats one way to do it, but apparently not the safest. Qt's SDK binary package has a small utility which actually patches the binaries that have hardcoded paths on windows to match the final location. Not sure whats done under linux, but possibly something similar. There's been a thread about this on qt-interest recently. Andreas -- Stay away from flying saucers today. What was the subject of that thread? I would like to review it for some more information. ___ Mike Jackson www.bluequartz.net Principal Software Engineer mike.jack...@bluequartz.net BlueQuartz Software Dayton, Ohio ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FindQt in a Specific place?
On 15.01.10 11:02:53, Michael Jackson wrote: On Jan 13, 2010, at 4:58 PM, Andreas Pakulat wrote: On 13.01.10 13:34:34, clin...@elemtech.com wrote: I've also seen people put a qt.conf file in the Qt installation, to override the compiled-in paths. That's probably how its done by the Windows installer. Thats one way to do it, but apparently not the safest. Qt's SDK binary package has a small utility which actually patches the binaries that have hardcoded paths on windows to match the final location. Not sure whats done under linux, but possibly something similar. There's been a thread about this on qt-interest recently. Andreas -- Stay away from flying saucers today. What was the subject of that thread? I would like to review it for some more information. Ah, sorry, it was actually the PyQt mailinglist. Thread can be found here: http://www.riverbankcomputing.com/pipermail/pyqt/2010-January/thread.html#25572 Especially the second reply to the OP (from Josh). Andreas -- Stay the curse. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] FindQt in a Specific place?
Is there any good way of telling findqt (I don't really care about findqt3) where to find Qt? Like say you did: set(QT_QMAKE_LOCATION /home/myself/qt4.6.0/bin) so that I later upgrade and do: set(QT_QMAKE_LOCATION /home/myself/qt4.6.1/bin) later without having to muck with my path, but still have findQt find Qt there? I was looking at writing such a feature, if it's not there, and if you'd be willing to take it as a patch. --James -- This e-mail, including any attached files, may contain confidential and privileged information for the sole use of the intended recipient. Any review, use, distribution, or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive information for the intended recipient), please contact the sender by reply e-mail and delete all copies of this message. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FindQt in a Specific place?
On Wed, Jan 13, 2010 at 1:07 PM, James Willis jwill...@lgc.com wrote: Is there any good way of telling findqt (I don't really care about findqt3) where to find Qt? Like say you did: set(QT_QMAKE_LOCATION /home/myself/qt4.6.0/bin) so that I later upgrade and do: set(QT_QMAKE_LOCATION /home/myself/qt4.6.1/bin) later without having to muck with my path, but still have findQt find Qt there? I was looking at writing such a feature, if it's not there, and if you'd be willing to take it as a patch. I am pretty sure you can pass this on the command line to cmake instead of polluting your CMakeLists.txt with installation specific data. John ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FindQt in a Specific place?
SEt the QT_QMAKE_EXECUTABLE variable. _ Mike Jackson mike.jack...@bluequartz.net BlueQuartz Softwarewww.bluequartz.net Principal Software Engineer Dayton, Ohio On Jan 13, 2010, at 1:07 PM, James Willis wrote: Is there any good way of telling findqt (I don't really care about findqt3) where to find Qt? Like say you did: set(QT_QMAKE_LOCATION /home/myself/qt4.6.0/bin) so that I later upgrade and do: set(QT_QMAKE_LOCATION /home/myself/qt4.6.1/bin) later without having to muck with my path, but still have findQt find Qt there? I was looking at writing such a feature, if it's not there, and if you'd be willing to take it as a patch. --James -- This e-mail, including any attached files, may contain confidential and privileged information for the sole use of the intended recipient. Any review, use, distribution, or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive information for the intended recipient), please contact the sender by reply e-mail and delete all copies of this message. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FindQt in a Specific place?
I think if you set these two variables you will get the same desired result. set(DESIRED_QT_VERSION 4) set(QT_QMAKE_EXECUTABLE /home/qt/4.6.0/bin/qmake) On Wed, Jan 13, 2010 at 1:07 PM, James Willis jwill...@lgc.com wrote: Is there any good way of telling findqt (I don't really care about findqt3) where to find Qt? Like say you did: set(QT_QMAKE_LOCATION /home/myself/qt4.6.0/bin) so that I later upgrade and do: set(QT_QMAKE_LOCATION /home/myself/qt4.6.1/bin) later without having to muck with my path, but still have findQt find Qt there? I was looking at writing such a feature, if it's not there, and if you'd be willing to take it as a patch. --James -- This e-mail, including any attached files, may contain confidential and privileged information for the sole use of the intended recipient. Any review, use, distribution, or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive information for the intended recipient), please contact the sender by reply e-mail and delete all copies of this message. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FindQt in a Specific place?
On Wed, Jan 13, 2010 at 12:07:47PM -0600, James Willis wrote: Like say you did: set(QT_QMAKE_LOCATION /home/myself/qt4.6.0/bin) so that I later upgrade and do: set(QT_QMAKE_LOCATION /home/myself/qt4.6.1/bin) later without having to muck with my path, but still have findQt find Qt there? I'll add my answer to the list of possibilities even though it's vaguely abusive of the Find* paradigm: if (NOT TP_LIBQT_ROOT) if (UNIX) set (TP_LIBQT_ROOT ${TP_3RDPARTYLIBS_ROOT}/Qt/4.3.3/build/${TP_PLATFORM}/release) elseif (WINDOWS) # Default to locally installed default location because using Qt # installed on a network share is super-duper slow. set (TP_LIBQT_ROOT C:/Qt/4.3.3) endif () endif () set (CMAKE_PREFIX_PATH ${TP_LIBQT_ROOT}) set (QT_USE_QTOPENGL 1) find_package (Qt4 REQUIRED) ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FindQt in a Specific place?
On 2010-01-13 14:03-0500 Michael Jackson wrote: SEt the QT_QMAKE_EXECUTABLE variable. Or put the appropriate version of qmake on your PATH. Alan __ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __ Linux-powered Science __ ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FindQt in a Specific place?
The definitive, unambiguous way to do this is to: set(QT_QMAKE_EXECUTABLE /full/path/to/qmake) before: find_package(Qt4) Changing the value of QT_QMAKE_EXECUTABLE and then re-executing find_package(Qt4) is supposed to change all associated Qt variables to match the corresponding qmake. On Wed, Jan 13, 2010 at 2:46 PM, Alan W. Irwin ir...@beluga.phys.uvic.cawrote: On 2010-01-13 14:03-0500 Michael Jackson wrote: SEt the QT_QMAKE_EXECUTABLE variable. Or put the appropriate version of qmake on your PATH. Alan __ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __ Linux-powered Science __ ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FindQt in a Specific place?
So: set (QT_QMAKE_EXECUTABLE ${mySrc}/ExternalLibs/Qt/qt_current/bin/qmake) This initially worked. But only initially. Then I did something dastardly: I got rid of the original place I compiled the libraries -- which qmake still somehow knows despite being compiled with -no-rpath. Now I get this error: Warning: QT_QMAKE_EXECUTABLE reported QT_INSTALL_LIBS as /home/myName/qt-everywhere-commercial-src-4.6.0/Release/lib Warning: /home/myName/qt-everywhere-commercial-src-4.6.0/Release/lib does NOT exist, Qt must NOT be installed correctly. CMake Error at /home/jwillis/cmake-2.8.0/Modules/FindQt4.cmake:673 (MESSAGE): Could NOT find QtCore header I also tried Tyler's idea, which fails in exactly the same way, with the same error. The idea here is my group has people who may want to compile the code elsewhere on various different machines without installing any libraries. We're dependent on a bunch right now, and it's a pain for each developer to have to get the right version of the right libraries, in the right order, to compile on their machine. So we just stick already compiled versions in a seperate libs directories. And no, we'd actually prefer their location set in the cmakefile so we can change centrally when we decide to upgrade libraries. Thanks for the help so far, but I'm still hacking away at the moment. --James From: Dave Partyka [dave.part...@kitware.com] Sent: Wednesday, January 13, 2010 1:01 PM To: James Willis Cc: cmake@cmake.org Subject: Re: [CMake] FindQt in a Specific place? I think if you set these two variables you will get the same desired result. set(DESIRED_QT_VERSION 4) set(QT_QMAKE_EXECUTABLE /home/qt/4.6.0/bin/qmake) On Wed, Jan 13, 2010 at 1:07 PM, James Willis jwill...@lgc.commailto:jwill...@lgc.com wrote: Is there any good way of telling findqt (I don't really care about findqt3) where to find Qt? Like say you did: set(QT_QMAKE_LOCATION /home/myself/qt4.6.0/bin) so that I later upgrade and do: set(QT_QMAKE_LOCATION /home/myself/qt4.6.1/bin) later without having to muck with my path, but still have findQt find Qt there? I was looking at writing such a feature, if it's not there, and if you'd be willing to take it as a patch. --James -- This e-mail, including any attached files, may contain confidential and privileged information for the sole use of the intended recipient. Any review, use, distribution, or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive information for the intended recipient), please contact the sender by reply e-mail and delete all copies of this message. ___ Powered by www.kitware.comhttp://www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FindQt in a Specific place?
Um, yea, you don't want to do that, change the location of the Qt libraries after they are built in one location. On Windows, the only way you can do that (to my knowledge) is to use the MinGW precompiled binaries from Nokia. When the installer runs all the paths are updated for the install location. As far as I can tell, Nokia has not released the installer build scripts for Qt built under Visual Studio. You seem to need a commercial license for that. So, With Qt, Pick a location where EVERYONE can have Qt installed, build it in THAT location, then you can move the installation from computer to computer. Yes, it sucks. _ Mike Jackson mike.jack...@bluequartz.net On Jan 13, 2010, at 3:07 PM, James Willis wrote: So: set (QT_QMAKE_EXECUTABLE ${mySrc}/ExternalLibs/Qt/qt_current/bin/ qmake) This initially worked. But only initially. Then I did something dastardly: I got rid of the original place I compiled the libraries -- which qmake still somehow knows despite being compiled with -no- rpath. Now I get this error: Warning: QT_QMAKE_EXECUTABLE reported QT_INSTALL_LIBS as /home/ myName/qt-everywhere-commercial-src-4.6.0/Release/lib Warning: /home/myName/qt-everywhere-commercial-src-4.6.0/Release/lib does NOT exist, Qt must NOT be installed correctly. CMake Error at /home/jwillis/cmake-2.8.0/Modules/FindQt4.cmake:673 (MESSAGE): Could NOT find QtCore header I also tried Tyler's idea, which fails in exactly the same way, with the same error. The idea here is my group has people who may want to compile the code elsewhere on various different machines without installing any libraries. We're dependent on a bunch right now, and it's a pain for each developer to have to get the right version of the right libraries, in the right order, to compile on their machine. So we just stick already compiled versions in a seperate libs directories. And no, we'd actually prefer their location set in the cmakefile so we can change centrally when we decide to upgrade libraries. Thanks for the help so far, but I'm still hacking away at the moment. --James From: Dave Partyka [dave.part...@kitware.com] Sent: Wednesday, January 13, 2010 1:01 PM To: James Willis Cc: cmake@cmake.org Subject: Re: [CMake] FindQt in a Specific place? I think if you set these two variables you will get the same desired result. set(DESIRED_QT_VERSION 4) set(QT_QMAKE_EXECUTABLE /home/qt/4.6.0/bin/qmake) On Wed, Jan 13, 2010 at 1:07 PM, James Willis jwill...@lgc.commailto:jwill...@lgc.com wrote: Is there any good way of telling findqt (I don't really care about findqt3) where to find Qt? Like say you did: set(QT_QMAKE_LOCATION /home/myself/qt4.6.0/bin) so that I later upgrade and do: set(QT_QMAKE_LOCATION /home/myself/qt4.6.1/bin) later without having to muck with my path, but still have findQt find Qt there? I was looking at writing such a feature, if it's not there, and if you'd be willing to take it as a patch. --James -- This e-mail, including any attached files, may contain confidential and privileged information for the sole use of the intended recipient. Any review, use, distribution, or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive information for the intended recipient), please contact the sender by reply e-mail and delete all copies of this message. ___ Powered by www.kitware.comhttp://www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FindQt in a Specific place?
I've also seen people put a qt.conf file in the Qt installation, to override the compiled-in paths. That's probably how its done by the Windows installer. Clint - Michael Jackson mike.jack...@bluequartz.net wrote: Um, yea, you don't want to do that, change the location of the Qt libraries after they are built in one location. On Windows, the only way you can do that (to my knowledge) is to use the MinGW precompiled binaries from Nokia. When the installer runs all the paths are updated for the install location. As far as I can tell, Nokia has not released the installer build scripts for Qt built under Visual Studio. You seem to need a commercial license for that. So, With Qt, Pick a location where EVERYONE can have Qt installed, build it in THAT location, then you can move the installation from computer to computer. Yes, it sucks. _ Mike Jackson mike.jack...@bluequartz.net On Jan 13, 2010, at 3:07 PM, James Willis wrote: So: set (QT_QMAKE_EXECUTABLE ${mySrc}/ExternalLibs/Qt/qt_current/bin/ qmake) This initially worked. But only initially. Then I did something dastardly: I got rid of the original place I compiled the libraries -- which qmake still somehow knows despite being compiled with -no- rpath. Now I get this error: Warning: QT_QMAKE_EXECUTABLE reported QT_INSTALL_LIBS as /home/ myName/qt-everywhere-commercial-src-4.6.0/Release/lib Warning: /home/myName/qt-everywhere-commercial-src-4.6.0/Release/lib does NOT exist, Qt must NOT be installed correctly. CMake Error at /home/jwillis/cmake-2.8.0/Modules/FindQt4.cmake:673 (MESSAGE): Could NOT find QtCore header I also tried Tyler's idea, which fails in exactly the same way, with the same error. The idea here is my group has people who may want to compile the code elsewhere on various different machines without installing any libraries. We're dependent on a bunch right now, and it's a pain for each developer to have to get the right version of the right libraries, in the right order, to compile on their machine. So we just stick already compiled versions in a seperate libs directories. And no, we'd actually prefer their location set in the cmakefile so we can change centrally when we decide to upgrade libraries. Thanks for the help so far, but I'm still hacking away at the moment. --James From: Dave Partyka [dave.part...@kitware.com] Sent: Wednesday, January 13, 2010 1:01 PM To: James Willis Cc: cmake@cmake.org Subject: Re: [CMake] FindQt in a Specific place? I think if you set these two variables you will get the same desired result. set(DESIRED_QT_VERSION 4) set(QT_QMAKE_EXECUTABLE /home/qt/4.6.0/bin/qmake) On Wed, Jan 13, 2010 at 1:07 PM, James Willis jwill...@lgc.commailto:jwill...@lgc.com wrote: Is there any good way of telling findqt (I don't really care about findqt3) where to find Qt? Like say you did: set(QT_QMAKE_LOCATION /home/myself/qt4.6.0/bin) so that I later upgrade and do: set(QT_QMAKE_LOCATION /home/myself/qt4.6.1/bin) later without having to muck with my path, but still have findQt find Qt there? I was looking at writing such a feature, if it's not there, and if you'd be willing to take it as a patch. --James -- This e-mail, including any attached files, may contain confidential and privileged information for the sole use of the intended recipient. Any review, use, distribution, or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive information for the intended recipient), please contact the sender by reply e-mail and delete all copies of this message. ___ Powered by www.kitware.comhttp://www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http
Re: [CMake] FindQt in a Specific place?
On 13.01.10 13:34:34, clin...@elemtech.com wrote: I've also seen people put a qt.conf file in the Qt installation, to override the compiled-in paths. That's probably how its done by the Windows installer. Thats one way to do it, but apparently not the safest. Qt's SDK binary package has a small utility which actually patches the binaries that have hardcoded paths on windows to match the final location. Not sure whats done under linux, but possibly something similar. There's been a thread about this on qt-interest recently. Andreas -- Stay away from flying saucers today. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake