parallaxinc / PropellerIDE

An easy-to-use, cross-platform IDE for the Parallax Propeller
GNU General Public License v3.0
70 stars 26 forks source link

Current PropellerIDE sources did not build with QT Creator 3.6.1(Qt 5.6.0) on OS X #38

Closed dgately closed 8 years ago

dgately commented 8 years ago

With a recent (4/7/2016) 'git clone --recursive', from github, I can't build PropellerIDE with Qt Creator 3.6.1, without running qmake/make on sub-project layers (memorymap, zipper, etc...). Looks like the top-level project is not invoking lower-level build processes on its own. BTW: This happens on Mac OS X 10.11.4. Not sure about any other OS variant...

Errors received (while attempting the work-around given below):

  1. Sub-project can't find '.a' file of another sub-project
  2. No rule to make sub-project make[2]: *\ No rule to make target /Users/altergator/source/PropellerIDE/src/zipper/libzipper.a', needed bypropelleride'.

Steps to reproduce:

  1. Get the latest Qt (5.6.0) from qt.org onto a running Mac OS X 10.11.4
  2. git clone PropelleriDE from github
  3. Open the propelleride.pro file in Qt Creator (3.6.1)
  4. Try to build propelleride as Release or Debug n Qt Creator

Result: Build fails, reports that lower-level sub-project can't find another sub-project's '.a' file. or that there is no rule to build sub-project. Example: memorymap can't find the libQHexEdit.a file... ALSO 'No rule to make lib zipper.a'

Work-around: Go into each sub-project directory in a terminal, exec qmake on each '.pro', then exec make on each make-created Makefile to create the needed '.a' file. Eventually, Qt Creator will be able to complete a full propelleride build.

Example: In Terminal: cd /Users/myUserNamer/source/PropellerIDE/src/zipper ==> go to sub-project dir /Users/myUserNamer/Qt/5.6/clang_64/bin/qmake zipper.pro ==> creates 'libzipper.a'

In Qt Creator Building propelleride project gets one step further!

bweir commented 8 years ago

Hi @dgately, this isn't an issue with Qt Creator specifically, but rather, shadowed qmake builds, which Qt Creator uses by default. If you disable shadow builds, you should be able to build with Qt Creator just fine.

I've had a lot of problems with shadowed builds of complex qmake projects, so I've stopped trying to support the feature. I'd be happy to merge in a change that fixes the issue though.

dgately commented 8 years ago

Yes, looks like the shadow build option was the culprit! I removed that option, cleaned the project and can build without failure. I'm not sure of the benefit of shadow builds as I've not really looked into them. Thanks Brett, for explaining. I'll close this.