2014-01-26 Johan Engelen <jbc.engelen@...2592...>:
Thanks for the clarification.
I'm trying to use it on Windows now.
- Extra dependency = perl (installed ActivePerl, is free)
Perl is a dependency of intltool-merge. AFAIK we don't need to use
intltool-merge on Windows, because we don't build a desktop file
there, so it's a question of further tweaking the build script. (Note
that I didn't do any testing on Windows yet, so I don't expect it to
- It finds MSVC first, but I can tell it not to do that (how to set
default? CXX env var does not work, as it still thinks that is MSVC...)
We can set the variable waflib.compiler_cxx.cxx_compiler to set the
compiler priority, e.g. add this before the functions:
from Tools import compiler_cxx
compiler_cxx.cxx_compiler['win32'] = ['g++', 'clang++']
I also thought about adding some magic code that detects what compiler
did you specify in the CXX variable and picks the appropriate Waf
tool, but I'm not sure whether this is generic enough to warrant
- It creates /build. Does it do out-of-source build automatically?
Yes, you can tweak the output directory by using --out at config time
or changing the 'out' variable in the wscript.
- Now it errors because it cannot find 'glib-mkenums'
executable is not in our devlibs)
This is loaded by the tool "glib2" by default, but we don't use it, so
it's the same as with Perl - some tweaking is necessary.
- I really hope we can set all defaults correctly on Windows, so we
build from a new checkout with the same amount of effort as we do now
In the earlier system, I did get to the point where saying "./waf
dist" created the installation directory exactly like btool. I think
this time around I'll be able to achieve that state much quicker.
2014-01-26 Vinícius dos Santos Oliveira <vini.ipsmaker@...400...>
Does it track include files as well? I did a simple test seconds ago
and CMake was able to track include files too.
Use case: You change a header file included by some two implementation files. The
implementation files are not changed, but the header file is changed. The implementation
files including this header file should be recompiled.
Yes, it does track include files. I used Waf for some other projects
before and never had an issue on that front.
2014-01-26 Martin Owens <doctormo@...400...>:
But maybe if waf can compile things in a smarter way. Every time I
edited document.h, I has to wait a long time for the compile because it
currently compiles every included file (and I understand why it might
need to) but perhaps some kind of manual command to say `make document.o
only and relink`
If you edit document.h, you must rebuild every file that includes
document.h - there is no way around that, in any build system in
existence. It is theoretically possible to check whether the edits
change API/ABI and only recompile then, but this would be incredibly
complex to implement; I don't even know whether this is possible at