Re: [Qt-creator] build settings for cross platform? multiple svn checkouts on each development computer

2010-04-26 Thread Tobias Hunger
Hi Danny!

Thanks for sending the broken project. I'll look into it later today.

Best Regards,
Tobias

-- 
Tobias Hunger
Software Engineer
Nokia, Qt Development Frameworks

Nokia gate5 GmbH
Firmensitz: Invalidenstr. 117, 10115 Berlin, Germany
Registergericht: Amtsgericht Charlottenburg, Berlin: HRB 106443 B
Umsatzsteueridentifikationsnummer: DE 812 845 193
Geschäftsführer: Dr. Michael Halbherr, Karim Tähtivuori
___
Qt-creator mailing list
Qt-creator@trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-creator


Re: [Qt-creator] build settings for cross platform? multiple svn checkouts on each development computer

2010-04-26 Thread Danny Price
On Mon, Apr 26, 2010 at 11:13 AM, Tobias Hunger tobias.hun...@nokia.comwrote:

 Hi Danny!

 Sorry, I really do not see anything to fix in creator for the following
 reasons:

  * No variable is ignored. DESTDIR is relative to the build directory,
 so it is set and used correctly (but points to a location where the
 stuff it is looking for is not found).

  * No build pathes are changed. Everything is put exactly where specified.

  * Creator does not interfere with anything set in the .pro-file.


 Your example project layout is basically three separate projects, tied
 together using relative pathes so that the libraries are found. That
 does indeed break in the presence of shadow building (or even more minor
 changes like the user checking out these three projects into separate
 directories, renaming some directory, etc.). I do not know your project
 requirements and there is probably a good reason for doing things the
 way you did, but I would really suggest making the build system more
 robust.


Ah so you can explain how I should modify the sample projects to do just
that? I assume that relative paths from the shadow build directories are
also a bad idea?


 The preferred way is of course (as you already suggested) to bundle the
 libraries and the application using them together into one SUBDIRS
 project. That way you do get dependency tracking and the libraries will
 get automatically rebuild when they are changed. This further should
 ease packaging of the complete thing.


Now this I find interesting as it seems to contradict Nokia's previous
advice on the subject - that is to use sessions...

I've had very mixed results with SUBDIRS in creator. I have to be setup
manually, require the use of undocumented qmake features and don't always
link together properly when dependants change. And until recently, you had
to rebuild the until tree for a single dependant change to be picked up.

But even if I use a subdir, won't I have the same issues? SUBDIRS allow me
to specify the build order but not link dependencies for which I need
PRE_TARGETDEPS. So I have to specify a path. What path do I specify?



 If you are reusing the same libraries together with several applications
 you can of course have several top-level SUBDIRS project files (one for
 each application, referencing the application itself and all libraries
 used by it).


Thanks I might try that.



 Best Regards,
 Tobias

 --
 Tobias Hunger
 Software Engineer
 Nokia, Qt Development Frameworks

 Nokia gate5 GmbH
 Firmensitz: Invalidenstr. 117, 10115 Berlin, Germany
 Registergericht: Amtsgericht Charlottenburg, Berlin: HRB 106443 B
 Umsatzsteueridentifikationsnummer: DE 812 845 193
 Geschäftsführer: Dr. Michael Halbherr, Karim Tähtivuori
 ___
 Qt-creator mailing list
 Qt-creator@trolltech.com
 http://lists.trolltech.com/mailman/listinfo/qt-creator

___
Qt-creator mailing list
Qt-creator@trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-creator


Re: [Qt-creator] build settings for cross platform? multiple svn checkouts on each development computer

2010-04-26 Thread Tobias Hunger
Hi Danny!

On 26.04.2010 13:14, ext Danny Price wrote:
 Ah so you can explain how I should modify the sample projects to do just
 that? I assume that relative paths from the shadow build directories are
 also a bad idea?

Yeap:-)

If the libraries hardly ever change then you could install them (or put 
them into a absolute path somewhere). That is *ugly* as hell, but it 
will work woth bpth shadow building and in source building. I really 
suggest using the SUBDIRS approach.

 Now this I find interesting as it seems to contradict Nokia's previous
 advice on the subject - that is to use sessions...

Please do not confuse my rumblings here with Nokia's advice! I am just 
one developer and in no way willing or able to speak for Nokia as a whole.

 I've had very mixed results with SUBDIRS in creator. I have to be setup
 manually, require the use of undocumented qmake features and don't
 always link together properly when dependants change.

Yes, documentation for qmake could be improved.

 And until
 recently, you had to rebuild the until tree for a single dependant
 change to be picked up.

That can indeed happen occasionally. Touching the files in question 
should do the trick though.

 But even if I use a subdir, won't I have the same issues? SUBDIRS allow
 me to specify the build order but not link dependencies for which I need
 PRE_TARGETDEPS. So I have to specify a path. What path do I specify?

Qt Creator has quite a bit of dependency setup in src/plugins. Maybe you 
can get some inspiration from there?

We are of course aware that there are issues with shadow building. Most 
of them are centered around resource usage (text files, pictures, etc.). 
The shadow build application will have trouble finding those if it tries 
to find them relative to its own location and they were shipped in the 
source tree.

-- 
Tobias Hunger
Software Engineer
Nokia, Qt Development Frameworks

Nokia gate5 GmbH
Firmensitz: Invalidenstr. 117, 10115 Berlin, Germany
Registergericht: Amtsgericht Charlottenburg, Berlin: HRB 106443 B
Umsatzsteueridentifikationsnummer: DE 812 845 193
Geschäftsführer: Dr. Michael Halbherr, Karim Tähtivuori
___
Qt-creator mailing list
Qt-creator@trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-creator


Re: [Qt-creator] build settings for cross platform? multiple svn checkouts on each development computer

2010-04-26 Thread Eike Ziller

On Apr 26, 2010, at 1:14 PM, ext Danny Price wrote:

 
 On Mon, Apr 26, 2010 at 11:13 AM, Tobias Hunger tobias.hun...@nokia.com 
 wrote:
 Hi Danny!
 
 Sorry, I really do not see anything to fix in creator for the following
 reasons:
 
  * No variable is ignored. DESTDIR is relative to the build directory,
 so it is set and used correctly (but points to a location where the
 stuff it is looking for is not found).
 
  * No build pathes are changed. Everything is put exactly where specified.
 
  * Creator does not interfere with anything set in the .pro-file.
 
 
 Your example project layout is basically three separate projects, tied
 together using relative pathes so that the libraries are found. That
 does indeed break in the presence of shadow building (or even more minor
 changes like the user checking out these three projects into separate
 directories, renaming some directory, etc.). I do not know your project
 requirements and there is probably a good reason for doing things the
 way you did, but I would really suggest making the build system more robust.
 
 Ah so you can explain how I should modify the sample projects to do just 
 that? I assume that relative paths from the shadow build directories are also 
 a bad idea?
  
 The preferred way is of course (as you already suggested) to bundle the
 libraries and the application using them together into one SUBDIRS
 project. That way you do get dependency tracking and the libraries will
 get automatically rebuild when they are changed. This further should
 ease packaging of the complete thing.
 
 Now this I find interesting as it seems to contradict Nokia's previous advice 
 on the subject - that is to use sessions... 

We (as in a bunch of Qt Creator developers) have been promoting the use of 
subdirs pro files a lot as well on this mailing list. Because both sessions and 
special setups in Qt Creator's project settings are special Qt Creator setups. 
So relying on these is no use in mixed environments.

 I've had very mixed results with SUBDIRS in creator. I have to be setup 
 manually, require the use of undocumented qmake features and don't always 
 link together properly when dependants change. And until recently, you had to 
 rebuild the until tree for a single dependant change to be picked up.
 
 But even if I use a subdir, won't I have the same issues? SUBDIRS allow me to 
 specify the build order but not link dependencies for which I need 
 PRE_TARGETDEPS. So I have to specify a path. What path do I specify?

Since you would open the SUBDIRS project in Qt Creator, you end up with a 
single project in Qt Creator,
and therefore with a single shadow build directory for your whole, multi-part 
project. So you can use relative paths for mapping between the sub-projects.
Like when opening qtcreator.pro.
The thing that is not clear to me (haven't tried), though, is how qmake 
actually maps the paths to a shadow build directory if you use SUBDIRS that 
refer to sub projects via ../ (ie. if your sub projects are not in a sub-path 
of the SUBDIRS project).

 
 If you are reusing the same libraries together with several applications
 you can of course have several top-level SUBDIRS project files (one for
 each application, referencing the application itself and all libraries
 used by it).
 
 Thanks I might try that.
  
 

Br, Eike

-- 
Eike Ziller
Software Engineer
Nokia, Qt Development Frameworks

Nokia gate5 GmbH
Firmensitz: Invalidenstr. 117, 10115 Berlin, Germany
Registergericht: Amtsgericht Charlottenburg, Berlin: HRB 106443 B
Umsatzsteueridentifikationsnummer: DE 812 845 193
Geschäftsführer: Dr. Michael Halbherr, Karim Tähtivuori




___
Qt-creator mailing list
Qt-creator@trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-creator


Re: [Qt-creator] build settings for cross platform? multiple svn checkouts on each development computer

2010-04-26 Thread Danny Price
On Mon, Apr 26, 2010 at 1:12 PM, Eike Ziller eike.zil...@nokia.com wrote:


 On Apr 26, 2010, at 1:14 PM, ext Danny Price wrote:

 
  On Mon, Apr 26, 2010 at 11:13 AM, Tobias Hunger tobias.hun...@nokia.com
 wrote:
  Hi Danny!
 
  Sorry, I really do not see anything to fix in creator for the following
  reasons:
 
   * No variable is ignored. DESTDIR is relative to the build directory,
  so it is set and used correctly (but points to a location where the
  stuff it is looking for is not found).
 
   * No build pathes are changed. Everything is put exactly where
 specified.
 
   * Creator does not interfere with anything set in the .pro-file.
 
 
  Your example project layout is basically three separate projects, tied
  together using relative pathes so that the libraries are found. That
  does indeed break in the presence of shadow building (or even more minor
  changes like the user checking out these three projects into separate
  directories, renaming some directory, etc.). I do not know your project
  requirements and there is probably a good reason for doing things the
  way you did, but I would really suggest making the build system more
 robust.
 
  Ah so you can explain how I should modify the sample projects to do just
 that? I assume that relative paths from the shadow build directories are
 also a bad idea?
 
  The preferred way is of course (as you already suggested) to bundle the
  libraries and the application using them together into one SUBDIRS
  project. That way you do get dependency tracking and the libraries will
  get automatically rebuild when they are changed. This further should
  ease packaging of the complete thing.
 
  Now this I find interesting as it seems to contradict Nokia's previous
 advice on the subject - that is to use sessions...

 We (as in a bunch of Qt Creator developers) have been promoting the use
 of subdirs pro files a lot as well on this mailing list. Because both
 sessions and special setups in Qt Creator's project settings are special Qt
 Creator setups. So relying on these is no use in mixed environments.

  I've had very mixed results with SUBDIRS in creator. I have to be setup
 manually, require the use of undocumented qmake features and don't always
 link together properly when dependants change. And until recently, you had
 to rebuild the until tree for a single dependant change to be picked up.
 
  But even if I use a subdir, won't I have the same issues? SUBDIRS allow
 me to specify the build order but not link dependencies for which I need
 PRE_TARGETDEPS. So I have to specify a path. What path do I specify?

 Since you would open the SUBDIRS project in Qt Creator, you end up with a
 single project in Qt Creator,
 and therefore with a single shadow build directory for your whole,
 multi-part project. So you can use relative paths for mapping between the
 sub-projects.
 Like when opening qtcreator.pro.
 The thing that is not clear to me (haven't tried), though, is how qmake
 actually maps the paths to a shadow build directory if you use SUBDIRS that
 refer to sub projects via ../ (ie. if your sub projects are not in a
 sub-path of the SUBDIRS project).


Thanks for the clarification. So if you're going to be pushing shadow builds
from now on, and SUBDIRs are the most compatible form of project
organization, can we expect to see improved support for SUBDIRs in Creator
any time soon?



  If you are reusing the same libraries together with several applications
  you can of course have several top-level SUBDIRS project files (one for
  each application, referencing the application itself and all libraries
  used by it).
 
  Thanks I might try that.
 
 

 Br, Eike

 --
 Eike Ziller
 Software Engineer
 Nokia, Qt Development Frameworks

 Nokia gate5 GmbH
 Firmensitz: Invalidenstr. 117, 10115 Berlin, Germany
 Registergericht: Amtsgericht Charlottenburg, Berlin: HRB 106443 B
 Umsatzsteueridentifikationsnummer: DE 812 845 193
 Geschäftsführer: Dr. Michael Halbherr, Karim Tähtivuori




 ___
 Qt-creator mailing list
 Qt-creator@trolltech.com
 http://lists.trolltech.com/mailman/listinfo/qt-creator

___
Qt-creator mailing list
Qt-creator@trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-creator


Re: [Qt-creator] build settings for cross platform? multiple svn checkouts on each development computer

2010-04-24 Thread Danny Price

On 19 Apr 2010, at 17:33, Tobias Hunger wrote:

 On 19.04.2010 18:02, ext Danny Price wrote:
 I think the settings in the .pro file should always take priority. This
 is allows for automated builds and builds outside of Creator.
 
 I do not get your point here: Of course the pro-file gets preference. 
 Qmake does not know of the .user file at all, so if you run qmake 
 outside creator will of course completely ignore any Creator settings.

Yes but the reverse is no-longer true.

 
 It
 shouldn't be muddied up to handle Creator special-cases. That sets
 a precedent.
 
 I do not consider shadow building to be a creator special case. I use it 
 for all projects I work on (be it qmake based or cmake or even 
 autotools, if they actually support it without too much breakage) and 
 did so long before I started using Qt Creator in earnest. It makes 
 switching between different configurations of a project so much easier, 
 be it debug/release, different set of defines/dependencies or even 
 different platforms.
 
 You should really give it a try! You are missing out if you do not.

It doesn't seem to offer anything that qmake can do with a little tweaking. In 
fact, I consider it a flaw in Creator that the template projects used by the 
wizards contain such basic pro files. They need a LOT of tweaking before they 
can be useful.

Perhaps you could give me a concrete example where shadow builds do something 
that .pro files settings cannot?

 
 I'm not sold on the idea that Creator must turn on shadow builds by
 default. If it's an issue as stated by Tobias, why not simple turn it on
 in via the Project screen/pro.user file for the projects that require it
 as was the case previously?
 
 Why not simply turn it off for the projects that do not need it? 
 Seriously, this does not get us anywhere.

Because as I explained in my previous email to Tobias with my attached sample 
project, simply turning off the settings still leaves my projects borked. I 
have to manually go through the file system and trash all the make files to get 
them working again. And if I check in the working project into SVN, the next 
user who checks it out will have to go through the whole process again if they 
neglect to uncheck the shadow build option in their newly-generated pro.user 
files before hitting build.

I'm tempted to write a little script that actually goes through my projects and 
cleans down the broken make files. This is clearly a failure in Creator's part 
as an IDE.

 
 What exactly is broken for you? Which of your settings are ignored by 
 creator?
 
 The functionality is identical.
 
 No, shadow building is far more flexible and I am convinced we should 
 offer that flexibility by default. Plus it reduces the number of clean 
 up issues we currently have with creator when switching configurations.

But It shouldn't override my handcrafted .pro file settings! I shouldn't have 
to re-configure all my project settings every-time Nokia release a new version 
of Creator and decide to turn on some new feature that breaks them.

 
 Tobias, your statement seems to imply that the Nokia/Qt devs are also
 throwing away their pro.user files to get builds working which is the
 underlying issue.
 
 I usually do not delete my .user files, but I sometimes do loose them 
 when running git clean in the terminal. I keep forgetting that creator 
 can do that nowadays (and it will leave the .user file by default;-)
 
 If that's the case, why not fix pro.user files once
 and for all? Fix the problem at source?
 
 The .user file does what it is meant to do quite well for my use case. 
 You seem to have a different use case which I would really like to 
 understand.

I use Creator daily, both in a production environment and as a hobbyist. The 
proi.user files have repeatedly proven to be very brittle and break my builds. 

One issue is the fact that they cannot be used with with source control, so 
every compiler setting, dependency, flag and build step has to be created 
manually every-time someone does a clean checkout of the project. I know of no 
other IDE that does this. It was for this reason that I gave up on the Project 
screen and stated coded everything into the .pro files. To qmakes credit, it's 
all worked so far. At least until I tried importing my projects into the latest 
snapshot.

I've also had many issues where Creator cannot find the binaries it just built 
('Permissions wrong?) or couldn't locate objects to link to resulting in 
linker errors that Creator simply reported as generic makefile failures. This 
often happened when a project was built independently of a session when 
previously it was built as a subdir.

In ALL CASES, the problems were fixed by trashing the .pro.user files. And 
there are plenty of over Creator users who will confirm this.

The point I'm making is that the flaws of the .pro.user system could previously 
be worked around in the .pro file and we could happily trash the .pro.user file 
whenever it 

Re: [Qt-creator] build settings for cross platform? multiple svn checkouts on each development computer

2010-04-19 Thread Danny Price
The .pro file is all you need. Compiler settings, include paths, build
steps, versioning and more can all be specified here. You also MUST use the
pro file to specify library link and project dependencies. It's not possible
to do this via the Project screen (the dependency settings merely sets the
build order - an application dependant on a library in the same session will
NOT be linked to it).

I actually prefer having these settings inside the readable .pro text file.
It's better than the MSVC solution that requires hunting through dozens of
tiny model dialogs.

Up until now I've found the pro.user file to be totally expendable. In fact
it has occasionally broken my projects (Creator not being able to find the
executable to run for example, or problems building).

However, I've noticed that the latest snapshots turn on the shadow build
feature by default. This is a problem because it overrides the build paths
specified in the .pro file. And if I turn off the feature it will be turned
on again the next time the .pro.user is generated (ie. when someone checks
out my code). I hope Nokia revert this to the previous behavior (turn off
shadow builds by default).

On Mon, Apr 19, 2010 at 4:18 AM, Coda Highland c...@bobandgeorge.comwrote:

 The makefile is generated directly from the .pro file. This is where
 everything needs to go, especially if you want your project to work if
 you're building it at the command line instead of from within Creator.

 The .pro.user file is really just intended for short-term,
 system-specific, non-general details that aren't intended to be shared
 with other users of the source code.

 The only thing that's broken is that it's not clear from the way
 Creator's UI is laid out that this is the case, and it has to be
 explained like this.

 Basically, what you need to keep in mind is that Creator is first and
 foremost a tool for writing code and creating software, not for
 managing projects.

 /s/ Adam

 On Sun, Apr 18, 2010 at 9:35 PM, nobodyhere pem.accounts.s...@gmail.com
 wrote:
  This makes Qt Creator sound broken?  I mean, what's the point of having
 it generate your make files for you (in the .pro.user file), if you have to
 then rewrite them manually anyway (in the .pro file)?
 
  regards
 
  - Original Message -
  From: Coda Highland c...@bobandgeorge.com
  To: qt-creator@trolltech.com
  Sent: Sunday, April 18, 2010 8:45:29 PM GMT -06:00 US/Canada Central
  Subject: Re: [Qt-creator] build settings for cross platform? multiple svn
 checkouts on each development computer
 
  No, we mean the .pro file. qmake's file format supports a lot of logic
  there, including platform detection (scopes like win32, unix, and
  macx). Never edit the .pro.user file and avoid using Creator's
  built-in tools for changing the build settings -- do all the work
  directly in the .pro file except for things that are SPECIFICALLY
  relevant to only the checkout you're working on.
 
  /s/ Adam
 
  On Sun, Apr 18, 2010 at 7:32 PM, nobodyhere pem.accounts.s...@gmail.com
 wrote:
  You mean edit and (svn commit) the project's .pro.user file?  (Not the
 project's .pro file?)
 
  And the .pro file has hardcoded / absolute paths in it, so how does this
 let me do a simple (svn checkout and build that just works, with the exact
 same .pro.user file) for (multiple computers) and (multiple checkouts on the
 same computer)?
 
  Is it required to manually edit the .pro.user XML file's text?
 
  thank you for any leads
 
  - Original Message -
  From: Danny Price deepblue...@googlemail.com
  To: qt-creator@trolltech.com
  Sent: Sunday, April 18, 2010 9:21:30 AM GMT -06:00 US/Canada Central
  Subject: Re: [Qt-creator] build settings for cross platform? multiple
 svn checkouts on each development computer
 
  Set you build settings, project directories and platform-specific
 configs in the .pro file.
 
  On 18 Apr 2010, at 09:26, nobodyhere wrote:
 
  Is there information on how to (svn commit) cross platform (Windows,
 Mac, Linux) build settings for a Qt Creator project, that doesn't have any
 absolute paths?
 
  I created a new project on Windows, then (svn commit) it.  Then I did
 (svn checkout) of the project on Mac OS.  Unfortunately, I had to create a
 new set of build settings to get it to build / compile?  But it seems to be
 storing this build settings stuff in the [project].pro.user file, with
 absolute paths?
 
  How can I fix it so that I can simplify for anyone to do multiple fresh
 (svn checkout)'s of the project on each machine (regardless of OS), and have
 the build / compile just work (for Windows, Mac, Linux builds) (with
 multiple checkouts per machine, using relative paths)?
 
  Why are there absolute paths in this [project].user.pro file (for
 example, the buildDirectory has an absolute path)?
 
  thank you for any leads
  ___
  Qt-creator mailing list
  Qt-creator@trolltech.com
  http://lists.trolltech.com/mailman/listinfo/qt

Re: [Qt-creator] build settings for cross platform? multiple svn checkouts on each development computer

2010-04-19 Thread Tobias Hunger
Hi Danny!

Yes, using the .pro-file for settings to be shared between developers is 
the right thing to do. Thanks for explaining that so well!

On 19.04.2010 10:16, ext Danny Price wrote:
 However, I've noticed that the latest snapshots turn on the shadow build
 feature by default. This is a problem because it overrides the build
 paths specified in the .pro file. And if I turn off the feature it will
 be turned on again the next time the .pro.user is generated (ie. when
 someone checks out my code).

Can you please describe your directory layout? Are you using your own 
shadow building setup? Which variables are ignored by our use of shadow 
builds? Can you send us a .pro-file that breaks for you so that we can 
improve the situation?

A existing in-source build should get detected and get imported using 
the settings used to create the build. This is of course not a help in 
the fresh-checkout use-case you mention:-/

  I hope Nokia revert this to the previous behavior (turn off shadow
  builds by default).

We did turn on shadow-building by default since we need to improve the 
multiple platform use-case. That is a real pain with pre-2.0beta 
creators since switching platforms totally confuses make, thus resulting 
in broken builds and all kinds of strangeness. There is just too many 
complaints about this to ignore;-). So shadow-building is -- from our 
perspective -- a must have for the next version.

However we are open for suggestions on how to minimize the impact on 
other use-cases.

Best Regards,
Tobias

-- 
Tobias Hunger
Software Engineer
Nokia, Qt Development Frameworks

Nokia gate5 GmbH
Firmensitz: Invalidenstr. 117, 10115 Berlin, Germany
Registergericht: Amtsgericht Charlottenburg, Berlin: HRB 106443 B
Umsatzsteueridentifikationsnummer: DE 812 845 193
Geschäftsführer: Dr. Michael Halbherr, Karim Tähtivuori
___
Qt-creator mailing list
Qt-creator@trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-creator


Re: [Qt-creator] build settings for cross platform? multiple svn checkouts on each development computer

2010-04-19 Thread Coda Highland
As a thought... How troublesome would it be to have something like a
CREATOR_PRAGMA variable in the .pro file that directs these kinds of
things? qmake could simply ignore it, after all. This would allow some
settings -- like, for instance, shadow builds -- to be overridden by
the .pro file.

/s/ Adam

On Mon, Apr 19, 2010 at 3:49 AM, Tobias Hunger tobias.hun...@nokia.com wrote:
 Hi Danny!

 Yes, using the .pro-file for settings to be shared between developers is
 the right thing to do. Thanks for explaining that so well!

 On 19.04.2010 10:16, ext Danny Price wrote:
 However, I've noticed that the latest snapshots turn on the shadow build
 feature by default. This is a problem because it overrides the build
 paths specified in the .pro file. And if I turn off the feature it will
 be turned on again the next time the .pro.user is generated (ie. when
 someone checks out my code).

 Can you please describe your directory layout? Are you using your own
 shadow building setup? Which variables are ignored by our use of shadow
 builds? Can you send us a .pro-file that breaks for you so that we can
 improve the situation?

 A existing in-source build should get detected and get imported using
 the settings used to create the build. This is of course not a help in
 the fresh-checkout use-case you mention:-/

   I hope Nokia revert this to the previous behavior (turn off shadow
   builds by default).

 We did turn on shadow-building by default since we need to improve the
 multiple platform use-case. That is a real pain with pre-2.0beta
 creators since switching platforms totally confuses make, thus resulting
 in broken builds and all kinds of strangeness. There is just too many
 complaints about this to ignore;-). So shadow-building is -- from our
 perspective -- a must have for the next version.

 However we are open for suggestions on how to minimize the impact on
 other use-cases.

 Best Regards,
 Tobias

 --
 Tobias Hunger
 Software Engineer
 Nokia, Qt Development Frameworks

 Nokia gate5 GmbH
 Firmensitz: Invalidenstr. 117, 10115 Berlin, Germany
 Registergericht: Amtsgericht Charlottenburg, Berlin: HRB 106443 B
 Umsatzsteueridentifikationsnummer: DE 812 845 193
 Geschäftsführer: Dr. Michael Halbherr, Karim Tähtivuori
 ___
 Qt-creator mailing list
 Qt-creator@trolltech.com
 http://lists.trolltech.com/mailman/listinfo/qt-creator


___
Qt-creator mailing list
Qt-creator@trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-creator


Re: [Qt-creator] build settings for cross platform? multiple svn checkouts on each development computer

2010-04-19 Thread Danny Price
I think the settings in the .pro file should always take priority. This is
allows for automated builds and builds outside of Creator. It shouldn't be
muddied up to handle Creator special-cases. That sets a precedent.

I'm not sold on the idea that Creator must turn on shadow builds by default.
If it's an issue as stated by Tobias, why not simple turn it on in via the
Project screen/pro.user file for the projects that require it as was the
case previously? The functionality is identical.

Tobias, your statement seems to imply that the Nokia/Qt devs are also
throwing away their pro.user files to get builds working which is the
underlying issue. If that's the case, why not fix pro.user files once and
for all? Fix the problem at source?

On Mon, Apr 19, 2010 at 2:56 PM, Coda Highland c...@bobandgeorge.comwrote:

 As a thought... How troublesome would it be to have something like a
 CREATOR_PRAGMA variable in the .pro file that directs these kinds of
 things? qmake could simply ignore it, after all. This would allow some
 settings -- like, for instance, shadow builds -- to be overridden by
 the .pro file.

 /s/ Adam

 On Mon, Apr 19, 2010 at 3:49 AM, Tobias Hunger tobias.hun...@nokia.com
 wrote:
  Hi Danny!
 
  Yes, using the .pro-file for settings to be shared between developers is
  the right thing to do. Thanks for explaining that so well!
 
  On 19.04.2010 10:16, ext Danny Price wrote:
  However, I've noticed that the latest snapshots turn on the shadow build
  feature by default. This is a problem because it overrides the build
  paths specified in the .pro file. And if I turn off the feature it will
  be turned on again the next time the .pro.user is generated (ie. when
  someone checks out my code).
 
  Can you please describe your directory layout? Are you using your own
  shadow building setup? Which variables are ignored by our use of shadow
  builds? Can you send us a .pro-file that breaks for you so that we can
  improve the situation?
 
  A existing in-source build should get detected and get imported using
  the settings used to create the build. This is of course not a help in
  the fresh-checkout use-case you mention:-/
 
I hope Nokia revert this to the previous behavior (turn off shadow
builds by default).
 
  We did turn on shadow-building by default since we need to improve the
  multiple platform use-case. That is a real pain with pre-2.0beta
  creators since switching platforms totally confuses make, thus resulting
  in broken builds and all kinds of strangeness. There is just too many
  complaints about this to ignore;-). So shadow-building is -- from our
  perspective -- a must have for the next version.
 
  However we are open for suggestions on how to minimize the impact on
  other use-cases.
 
  Best Regards,
  Tobias
 
  --
  Tobias Hunger
  Software Engineer
  Nokia, Qt Development Frameworks
 
  Nokia gate5 GmbH
  Firmensitz: Invalidenstr. 117, 10115 Berlin, Germany
  Registergericht: Amtsgericht Charlottenburg, Berlin: HRB 106443 B
  Umsatzsteueridentifikationsnummer: DE 812 845 193
  Geschäftsführer: Dr. Michael Halbherr, Karim Tähtivuori
  ___
  Qt-creator mailing list
  Qt-creator@trolltech.com
  http://lists.trolltech.com/mailman/listinfo/qt-creator
 

 ___
 Qt-creator mailing list
 Qt-creator@trolltech.com
 http://lists.trolltech.com/mailman/listinfo/qt-creator

___
Qt-creator mailing list
Qt-creator@trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-creator


[Qt-creator] build settings for cross platform? multiple svn checkouts on each development computer

2010-04-18 Thread nobodyhere
Is there information on how to (svn commit) cross platform (Windows, Mac, 
Linux) build settings for a Qt Creator project, that doesn't have any absolute 
paths?

I created a new project on Windows, then (svn commit) it.  Then I did (svn 
checkout) of the project on Mac OS.  Unfortunately, I had to create a new set 
of build settings to get it to build / compile?  But it seems to be storing 
this build settings stuff in the [project].pro.user file, with absolute paths?

How can I fix it so that I can simplify for anyone to do multiple fresh (svn 
checkout)'s of the project on each machine (regardless of OS), and have the 
build / compile just work (for Windows, Mac, Linux builds) (with multiple 
checkouts per machine, using relative paths)?

Why are there absolute paths in this [project].user.pro file (for example, the 
buildDirectory has an absolute path)?

thank you for any leads
___
Qt-creator mailing list
Qt-creator@trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-creator


Re: [Qt-creator] build settings for cross platform? multiple svn checkouts on each development computer

2010-04-18 Thread Danny Price
Set you build settings, project directories and platform-specific configs in 
the .pro file.

On 18 Apr 2010, at 09:26, nobodyhere wrote:

 Is there information on how to (svn commit) cross platform (Windows, Mac, 
 Linux) build settings for a Qt Creator project, that doesn't have any 
 absolute paths?
 
 I created a new project on Windows, then (svn commit) it.  Then I did (svn 
 checkout) of the project on Mac OS.  Unfortunately, I had to create a new set 
 of build settings to get it to build / compile?  But it seems to be storing 
 this build settings stuff in the [project].pro.user file, with absolute paths?
 
 How can I fix it so that I can simplify for anyone to do multiple fresh (svn 
 checkout)'s of the project on each machine (regardless of OS), and have the 
 build / compile just work (for Windows, Mac, Linux builds) (with multiple 
 checkouts per machine, using relative paths)?
 
 Why are there absolute paths in this [project].user.pro file (for example, 
 the buildDirectory has an absolute path)?
 
 thank you for any leads
 ___
 Qt-creator mailing list
 Qt-creator@trolltech.com
 http://lists.trolltech.com/mailman/listinfo/qt-creator


___
Qt-creator mailing list
Qt-creator@trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-creator


Re: [Qt-creator] build settings for cross platform? multiple svn checkouts on each development computer

2010-04-18 Thread nobodyhere
You mean edit and (svn commit) the project's .pro.user file?  (Not the 
project's .pro file?)

And the .pro file has hardcoded / absolute paths in it, so how does this let me 
do a simple (svn checkout and build that just works, with the exact same 
.pro.user file) for (multiple computers) and (multiple checkouts on the same 
computer)?

Is it required to manually edit the .pro.user XML file's text?

thank you for any leads

- Original Message -
From: Danny Price deepblue...@googlemail.com
To: qt-creator@trolltech.com
Sent: Sunday, April 18, 2010 9:21:30 AM GMT -06:00 US/Canada Central
Subject: Re: [Qt-creator] build settings for cross platform? multiple svn 
checkouts on each development computer

Set you build settings, project directories and platform-specific configs in 
the .pro file.

On 18 Apr 2010, at 09:26, nobodyhere wrote:

 Is there information on how to (svn commit) cross platform (Windows, Mac, 
 Linux) build settings for a Qt Creator project, that doesn't have any 
 absolute paths?
 
 I created a new project on Windows, then (svn commit) it.  Then I did (svn 
 checkout) of the project on Mac OS.  Unfortunately, I had to create a new set 
 of build settings to get it to build / compile?  But it seems to be storing 
 this build settings stuff in the [project].pro.user file, with absolute paths?
 
 How can I fix it so that I can simplify for anyone to do multiple fresh (svn 
 checkout)'s of the project on each machine (regardless of OS), and have the 
 build / compile just work (for Windows, Mac, Linux builds) (with multiple 
 checkouts per machine, using relative paths)?
 
 Why are there absolute paths in this [project].user.pro file (for example, 
 the buildDirectory has an absolute path)?
 
 thank you for any leads
 ___
 Qt-creator mailing list
 Qt-creator@trolltech.com
 http://lists.trolltech.com/mailman/listinfo/qt-creator


___
Qt-creator mailing list
Qt-creator@trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-creator
___
Qt-creator mailing list
Qt-creator@trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-creator


Re: [Qt-creator] build settings for cross platform? multiple svn checkouts on each development computer

2010-04-18 Thread nobodyhere
This makes Qt Creator sound broken?  I mean, what's the point of having it 
generate your make files for you (in the .pro.user file), if you have to then 
rewrite them manually anyway (in the .pro file)?

regards

- Original Message -
From: Coda Highland c...@bobandgeorge.com
To: qt-creator@trolltech.com
Sent: Sunday, April 18, 2010 8:45:29 PM GMT -06:00 US/Canada Central
Subject: Re: [Qt-creator] build settings for cross platform? multiple svn 
checkouts on each development computer

No, we mean the .pro file. qmake's file format supports a lot of logic
there, including platform detection (scopes like win32, unix, and
macx). Never edit the .pro.user file and avoid using Creator's
built-in tools for changing the build settings -- do all the work
directly in the .pro file except for things that are SPECIFICALLY
relevant to only the checkout you're working on.

/s/ Adam

On Sun, Apr 18, 2010 at 7:32 PM, nobodyhere pem.accounts.s...@gmail.com wrote:
 You mean edit and (svn commit) the project's .pro.user file?  (Not the 
 project's .pro file?)

 And the .pro file has hardcoded / absolute paths in it, so how does this let 
 me do a simple (svn checkout and build that just works, with the exact same 
 .pro.user file) for (multiple computers) and (multiple checkouts on the same 
 computer)?

 Is it required to manually edit the .pro.user XML file's text?

 thank you for any leads

 - Original Message -
 From: Danny Price deepblue...@googlemail.com
 To: qt-creator@trolltech.com
 Sent: Sunday, April 18, 2010 9:21:30 AM GMT -06:00 US/Canada Central
 Subject: Re: [Qt-creator] build settings for cross platform? multiple svn 
 checkouts on each development computer

 Set you build settings, project directories and platform-specific configs in 
 the .pro file.

 On 18 Apr 2010, at 09:26, nobodyhere wrote:

 Is there information on how to (svn commit) cross platform (Windows, Mac, 
 Linux) build settings for a Qt Creator project, that doesn't have any 
 absolute paths?

 I created a new project on Windows, then (svn commit) it.  Then I did (svn 
 checkout) of the project on Mac OS.  Unfortunately, I had to create a new 
 set of build settings to get it to build / compile?  But it seems to be 
 storing this build settings stuff in the [project].pro.user file, with 
 absolute paths?

 How can I fix it so that I can simplify for anyone to do multiple fresh (svn 
 checkout)'s of the project on each machine (regardless of OS), and have the 
 build / compile just work (for Windows, Mac, Linux builds) (with multiple 
 checkouts per machine, using relative paths)?

 Why are there absolute paths in this [project].user.pro file (for example, 
 the buildDirectory has an absolute path)?

 thank you for any leads
 ___
 Qt-creator mailing list
 Qt-creator@trolltech.com
 http://lists.trolltech.com/mailman/listinfo/qt-creator


 ___
 Qt-creator mailing list
 Qt-creator@trolltech.com
 http://lists.trolltech.com/mailman/listinfo/qt-creator
 ___
 Qt-creator mailing list
 Qt-creator@trolltech.com
 http://lists.trolltech.com/mailman/listinfo/qt-creator


___
Qt-creator mailing list
Qt-creator@trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-creator

___
Qt-creator mailing list
Qt-creator@trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-creator


Re: [Qt-creator] build settings for cross platform? multiple svn checkouts on each development computer

2010-04-18 Thread Victor Sardina
Coda/nobodyhere:

According to my experience (however little), it works well as long as we
do it the way Adam suggested. As long as we put all relevant system
dependent information in the .pro file, then qmake will generate an
actual makefile tailored for each particular platform that reflects
whatever paths you discretized in the .pro file itself.

I only keep the actual src directory and the .pro file in the
repository, as all the rest results from running qmake and make to
compile and link: you can reproduce all those files under each platform
just from the source files, as long as you wrote an appropriate .pro
file for qmake to do the heavy lifting for you. This works for me under
Mac, Linux, and even Solaris (I know it works also under Windows, but I
barely do anything under that platform these days). As an added bonus,
you can do everything from the command line, without having to bother
with any IDE. In other words, you can do all the relevant coding under
one platform in GUI mode per se, and then just copy the source files and
the .pro file to another platform (properly written) and do the
compiling and linking by calling qmake and make.

For instance, to reflect the location of some files under Mac and Linux,
or Windows in the .pro files you can use conditional statements:

macx{
INCLUDEPATH += /usr/local/Trolltech/Qt-4.7.0/include
}
unix{
   INCLUDEPATH += /opt/Trolltech/Qt-4.7.0/include
}
linux-g++ {
   INCLUDEPATH += /opt/local/Trolltech/Qt-4.7.0/include
}
win32{
   INCLUDEPATH += C:\Trolltech\Qt-4.7.0\include
}

The above constitutes a hypothetical example to illustrate the issue.
You can find more example in the qmake related help files. You can
specify source, header files, and many other required pieces that way,
per platform. I found this out because I got tired of having to replace
portions of the code each time just because I happened to change the
working platform one particular day or another.

Hope this helps,
Victor

Coda Highland wrote:
 The makefile is generated directly from the .pro file. This is where
 everything needs to go, especially if you want your project to work if
 you're building it at the command line instead of from within Creator.
 
 The .pro.user file is really just intended for short-term,
 system-specific, non-general details that aren't intended to be shared
 with other users of the source code.
 
 The only thing that's broken is that it's not clear from the way
 Creator's UI is laid out that this is the case, and it has to be
 explained like this.
 
 Basically, what you need to keep in mind is that Creator is first and
 foremost a tool for writing code and creating software, not for
 managing projects.
 
 /s/ Adam
 
 On Sun, Apr 18, 2010 at 9:35 PM, nobodyhere pem.accounts.s...@gmail.com 
 wrote:
 This makes Qt Creator sound broken?  I mean, what's the point of having it 
 generate your make files for you (in the .pro.user file), if you have to 
 then rewrite them manually anyway (in the .pro file)?

 regards

 - Original Message -
 From: Coda Highland c...@bobandgeorge.com
 To: qt-creator@trolltech.com
 Sent: Sunday, April 18, 2010 8:45:29 PM GMT -06:00 US/Canada Central
 Subject: Re: [Qt-creator] build settings for cross platform? multiple svn 
 checkouts on each development computer

 No, we mean the .pro file. qmake's file format supports a lot of logic
 there, including platform detection (scopes like win32, unix, and
 macx). Never edit the .pro.user file and avoid using Creator's
 built-in tools for changing the build settings -- do all the work
 directly in the .pro file except for things that are SPECIFICALLY
 relevant to only the checkout you're working on.

 /s/ Adam

 On Sun, Apr 18, 2010 at 7:32 PM, nobodyhere pem.accounts.s...@gmail.com 
 wrote:
 You mean edit and (svn commit) the project's .pro.user file?  (Not the 
 project's .pro file?)

 And the .pro file has hardcoded / absolute paths in it, so how does this 
 let me do a simple (svn checkout and build that just works, with the exact 
 same .pro.user file) for (multiple computers) and (multiple checkouts on 
 the same computer)?

 Is it required to manually edit the .pro.user XML file's text?

 thank you for any leads

 - Original Message -
 From: Danny Price deepblue...@googlemail.com
 To: qt-creator@trolltech.com
 Sent: Sunday, April 18, 2010 9:21:30 AM GMT -06:00 US/Canada Central
 Subject: Re: [Qt-creator] build settings for cross platform? multiple svn 
 checkouts on each development computer

 Set you build settings, project directories and platform-specific configs 
 in the .pro file.

 On 18 Apr 2010, at 09:26, nobodyhere wrote:

 Is there information on how to (svn commit) cross platform (Windows, Mac, 
 Linux) build settings for a Qt Creator project, that doesn't have any 
 absolute paths?

 I created a new project on Windows, then (svn commit) it.  Then I did (svn 
 checkout) of the project on Mac OS.  Unfortunately, I had to create a new 
 set of build settings