on Windows, build with QTMAIN and subsystem="windows" to create a Qt app without the console, Qt will use your "main" and manage the "WinMain" for you.
Previously the msvc tool was re-using the install_task set up by ccroot
in apply_link by appending files to install_task.sources.
This is problematic because the install task is posted by the time the
call to install_files returns and the post method of the install task
copies files from sources to inputs and inputs as the list of files
that get installed. This usually worked due to the fact that the
install_task does not guard against getting posted multiple times. In
some situations such as installing and building a single target using
the --targets flag this was not working and pdb files would not be
installed.
This updates the msvc tool to create a separate task to install the
pdb files instead of re-using the existing install_task. This fixes
the issue observed with pdb files not being installed when building and
installing a single target and is also consistent with how other files
are being installed from ccroot such as in apply_implib and apply_vnum.
Change-Id: I9fc53061847453fdb5cf105f2276a2eab5fd43b4
Type: Bug Fix
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
The following can be used to add asm outputs to a c++ task (gcc):
from waflib import Task
from waflib.TaskGen import feature, after_method
@feature('cxx')
@after_method('process_source')
def add_asm_outputs(self):
for tsk in self.compiled_tasks:
node2 = tsk.outputs[0].change_ext('.s')
tsk.env.append_value('CXXFLAGS', '-Wa,-adhln=%s' % node2.abspath())
tsk.outputs.append(node2)
Due to recent changes, setting xxx_compiler in configure() had no effect.
This commit fixes the problem and changes the examples to show setting
the xxx_compiler variables at the top level of the wscript, so that
the default compilers are correctly reported in the help output.
In some scenarios only some components of the glib2 tool are
necessary; for example, if intltool-merge is only used for
creating localized desktop files, it's not useful on Windows.
Rewrite the configuration function of the tools into several methods,
so that the 'funs' parameter can be used to only configure
specific programs from the tools.