Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
In the positional arguments
|
|
|
|
It can be either:
- boolean: the option is completely deprecated.
- list: some choices are deprecated.
- dict: some choices are deprecated and replaced by another.
Fixes: #7444
|
|
|
|
|
|
info.types could be a tuple like (str, ContainerTypeInfo()). That means
we have to check types one by one and only print error if none of them
matched.
Also fix the case when default value is None for a container type, it
should leave the value to None to be able to distinguish between unset
and empty list.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This isn't complete, it's just the easy stuff
|
|
This replaces the absolute hack of using
```
install_subdir('nonexisting', install_dir: 'share')
```
which requires you to make sure you don't accidentally or deliberately
have a completely different directory with the same name in your source
tree that is full of files you don't want installed. It also avoids
splitting the name in two and listing them in the wrong order.
You can also set the install mode of each directory component by listing
them one at a time in order, and in fact create nested structures at
all.
Fixes #1604
Properly fixes #2904
|
|
|
|
Sometimes, the machine file can include compiler command line options,
in order to pick the correct multilib. For example, Meson uses "$cc
--print-search-dirs" to find the library search path, where $cc is the
cc from the machine file. Because the outputs of "gcc -m32
--print-search-dirs" and "gcc --print-search-dirs" are different, this
only works if you have
[binaries]
cc = ['gcc', '-m32']
in the machine file. Right now, however, the cmake module assumes that
the compiler listed in the machine file is either a compiler, or a
"launcher" followed by the compiler. Check if the second argument
starts with a slash (for Microsoft-like compilers) or a dash (for
everyone else), and if so presume that the CMAKE_*_COMPILER_LAUNCHER
need not be defined.
|
|
UseMultiToolTask allows parallelism inside a project, without requiring cl.exe
internal multi-threading (which meson generated projects currently can't use,
mainly due to specifying output filenames for each object).
TODO:
- think about making behaviour conditional on msbuild version / add comment
why not
|
|
Note that a few minor details of the output changed for some target types. I
think I called them out with XXXs in the code for now.
|
|
|
|
The main reason for this move is to make it easier to merge the copies of
project generation. But as far as I can tell, the Microsoft.Cpp.props import
also belongs before the ItemDefinitionGroup.
Originally the order seems to have been that way, but 431a9ea664 changed it in
the course of other changes.
|
|
install_dir needs to be set to something, because CustomTarget expects
that. genmarshal still relies on CustomTarget setting it internally
itself.
Fixes #9350
|
|
It's impossible to get a Holder here, we'd get the unholdered build
types. Mypy points this out for us.
|
|
Theere is no 'output' key in the kwargs, so if this was it it would
result in an exception. Mypy spotted this in a branch I'm working on
full typing for gnome, but since that seems unlikely to be done before
the 0.60 branchpoint I'd like to get this in sooner
|
|
If either 'name' or 'name_formatted' are absolute paths,
then they are of the form:
C:\path/to/file.ext (example)
By only substituting slashes with the underscore, we get:
C:_path_to_file.ext
This is still not quite right, infact os.path.basename()
returns:
_path_to_file.ext
Also replace colons with underscores to overcome issues when
absolute paths are involved.
|
|
In the refman rewrite, these functions vanished. I noticed this when I
went looking at the docs for extract_all_objects(), or should I say I
tried to go looking.
|
|
|
|
|
|
warning: ISO C does not allow extra ';' outside of a function [-Wpedantic]
|
|
Yelp currently can take sources two different ways, the first is via
variadic arguments, the second is by a keyword argument. If the keyword
is passed then the variadic arguments are silently ignored, which is
obviously not ideal. Fortunately the variadic form was never documented,
and is likely not in wide use.
This patch fixes it by deprecating the variadic form, and warning if
both are passed. It does not change behavior as someone may be relying
on it.
|
|
|
|
This is the final refactoring for extracting the bultin object
logic out of Interpreterbase. I decided to do both arrays and
dicts in one go since splitting it would have been a lot more
confusing.
|
|
If the compiler specified is a path to a compiler, the current detection is broken. It needs to use just the compiler name instead.
|
|
CMakes `target_link_libraries()` supports certain keywords to
only enable specific libraries for specific CMake configurations.
We now try our best to replicate this for Meson dependencies.
Fixes #9197
|
|
|
|
|
|
|
|
There are two possible issues, both of which emit very long messages
from git:
- when shallow cloning via depth + a pinned commit we locally init
rather than cloning; use an almost-certainly not conflicting dummy
branch name
- any time a checkout of a revision is performed, it might not be a
branch name, in which case it will be a detached HEAD. By default git
is very noisy about this -- it wants you to know what happened and how
not to mess up. But wraps aren't per default intended for user editing
and development, it's just part of the internal transport which meson
uses. So, temporarily squelch this advice. Do not permanently
configure the repo like this though, because the user *might* cd in
and start developing on the subproject; in this case, any additional
git advice they trigger is their responsibility (and they probably do
want it).
Fixes #9318
|
|
Test & fix.
|
|
Partially-Fixes: #1799
|
|
To be able to handle link_depends in backends that do not just operate on a
file basis like ninja, information about the targets, not just their output is
required.
|
|
|
|
Which resolves all of the remaining typing issues.
|
|
|
|
|
|
|