[Qt-creator] Qt Build Settings can use $BUILDIR. Why not Project Run Settings?
Ed Sutton
ESutton at fescorp.com
Wed May 12 00:54:22 CEST 2010
On May 11, 2010, at 4:08 PM, André Fillipe wrote:
Any tweaks you need should be coded inside the *.pro file.
True.
The qmake reference docs contain everything you need.
Quite the opposite: qmake is probably the worst documented part of Qt.
Try and search for any info on $$qtLibraryTarget, the fakelib
template, $$files and the such. I spent this weekend rewriting my
team's convoluted build process and my best source of reference were
Qt Solutions .pro files. And lots of trial and error. We now build and
package straight from checkout, but it was a chore.
Having spent a lot of time on making a (mostly) automated-checkout-build-and-package process, I would be interested in hearing an overview of your build process. I think I will grep some of the Qt .pro files myself to see what new tricks I may learn.
The "improved build system" in the Qt Roadmap is the feature I am most
anxious about. Qmake is showing its age and none of the replacements
are good enough.
Coming from Windows Visual Studio 2008 I saw Qt Creator as
a viable replacement tool (or maybe a crutch) in my new
Linux world. I viewed the Qt *.pro files as the equivalent
to Visual Studio's project *.sln solution file and *.csproj
project file which I typically versioned control as well.
They are. The *.pro.user files, however, are like the
*.vcproj.{machine}.{username}.user files which you usually shouldn't
version.
If you clarify what you are trying to accomplish (no need to go into
NDA-breaching specifics), maybe I can assist you.
I probably just need to rethink things. My goals are to be able to:
1. Checkout a Qt project from Subversion ( or extract a tarball )
2. Open Qt project file in Qt Creator
3. Build
4. Run execuable from Qt Creator
5. or Start debugger from Qt Creator and debug step into the demo source code
I think it is mainly the running/debugging from Qt Creator that seems hard to accomplish without the "*.pro.user" files or requiring the user to setup an environment.
To run the demo executable, I have to set environment variables, tell it where to located the dynamic myapi libraries, and pass it an xml configuration file as a command line argument.
I can use rpath to tell it where to look for the libs (run-time search paths in general have been a learning curve under Linux as there seems to be about 4 ways to do it). I am not sure about how to set an environment variable without the *.pro.user file. The command line argument is solvable as long as I put the xml file it the same
folder as the demo executable.
* I am building two rpm pacxkages from a single build.spec file; myapi and myapi-devel.
* The build.spec gets all source from Subversion, calls the build scripts(qmake *.pro -r -spec linux-g++, make), and makes the two rpms from the build output..
* myapi rpm installs shared libraries to /usr/lib/myapi/
* myapi-devel installs the myapi header files to /usr/include/myapi/, Doxygen HTML documentation for the API, and a source code example tarball containing a Qt project GUI project demonstrating how to use the API
I am hoping to reduce tech support calls. I want the customer to be able to use Qt Creator and not have to mess about with any environment variables or settings. Using Qt Creator I want him to be able to open the project, compile, run, and debug. Just get him started quickly and easily with no setup configuration hassles.
I think Qt Creator
is currently the best C++ IDE available for Linux and it would be a
shame not to use it.
After making a couple attempts at using Eclipse C++ (with Qt integration), I keep coming back to Qt Creator. I agree I have seen nothing better for a C++ Linux IDE and for my development I intend to stick with it. And if I can get a few new customers hooked I am happy to spread the word. :-)
Thank you very much for your assistance,
-Ed
More information about the Qt-creator-old
mailing list