custom.pro is included in librecad.pro by this line:
exists( custom.pro ):include( custom.pro )
I suspect that the author expected that the things defined in custom.pro will be visible to the projects in sub-directories. However, this is not the case (I don't know if this is a bug in qmake or it is so by design). To make it useful above line should be copied to all .pro files.
I use this file kind of to indicate library and include paths on Windows and is quite useful to me.
I'm posting here instead of a pull request because the purpose of this file may be other than the one that I assume. Is it ok to add the line:
# custom definitions from the user
exists( custom.pro ):include( custom.pro )
in common.pro? This will include custom.pro in all projects that produce output:
- jwwlib
- libdxfrw
- src
- all plugins
- ttf2ltf
I am the author of that..
They idea of common.pro was that all compiled modules would use the same compile settings/libraries.
Over time this has changed a bit and if this needs a overhaul, I agree and fine with that.
The only requirement I would like to see for such overhaul is that we keep using QT's make system and not going to use Makefiles with automake or other makefile systems. The goal is to have LibreCAD to get compiled on a 'stock' Qt4/5 and ofcourse the additional libs (two of them at the moment) that can be compiled in the same fashion. So it's easy to compile on Mac, Linux and windows system without creation complex build systems.
I have no intention to suggest automake or other build system, I'm just fine with qmake.
Being the original author, may I ask what is the purpose of custom.pro? Is it ok to use it the way I presented it? To be a place where local customizations are stored? Would it be OK to add it to .gitignore?
I'm only asking because this may not be the intended purpose for that file, and, if this is not the purpose, then I would suggest creating one such file that does not throw git warnings about new files not being added. I see it as a very clean way of customizing Qt driven projects.