Age | Commit message (Collapse) | Author | Files | Lines |
|
Re-implement it in backend using the same code path as for
custom_target(). This for example handle setting PATH on Windows when
command is an executable.
|
|
On Windows this would fail because of missing DLL:
```
mylib = library(...)
exe = executable(..., link_with: mylib)
meson.add_install_script(exe)
```
The reason is on Windows we cannot rely on rpath to find libraries from
build directory, they are searched in $PATH. We already have all that
mechanism in place for custom_target() using ExecutableSerialisation
class, so reuse it for install/dist/postconf scripts too.
This has bonus side effect to also use exe_wrapper for those scripts.
Fixes: #8187
|
|
This patches takes the options work to it's logical conclusion: A single
flat dictionary of OptionKey: UserOptions. This allows us to simplify a
large number of cases, as we don't need to check if an option is in this
dict or that one (or any of 5 or 6, actually).
|
|
These are basically doing what mlog.log(..., once=True) does, so lets
just use that. The once argument to mlog is newer, so these probably
should have been changed already.
|
|
The helper is general, although in this patch it is only used for
warnings. No functional change intended.
|
|
|
|
* i18n: add args keyword to merge_file
* i18n: add testcase to msgfmt args
|
|
@permittedKwargs() is basically copying the logic of CustomTarget,
but it is not actually up to date, leading to warnings on perfectly
valid values such as 'build_by_default'.
Use CustomTarget.known_kwargs instead, and only append the specific
kwargs of i18n.merge_file().
Fixes https://github.com/mesonbuild/meson/issues/5079
|
|
Add some missing functions having C-format strings to the list.
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
|
|
|
|
|
|
$ flake8 | grep -E '(E128|E203|E221|E226|E303|W291|W293)'
./mesonbuild/backend/backends.py:32:1: E303 too many blank lines (3)
./mesonbuild/modules/i18n.py:90:56: E128 continuation line under-indented for visual indent
|
|
using state.subdir will cause / or \ to be inserted into the target name.
Replace them with @ to future-proof it.
Signed-off-by: Marty E. Plummer <hanetzer@startmail.com>
|
|
|
|
As it currently stands, if for whatever reason you have two files you
want to merge with the same output name, it will fail due to multiple
targets with the same name due to the target name being autogenerated
from the output kwarg.
Signed-off-by: Marty E. Plummer <hanetzer@startmail.com>
|
|
translations
Previously it wasn't possible to use twice @BASENAME@ as the targets would then be named @BASENAME@_merge
|
|
|
|
|
|
Currently, run_target does not get namespaced for each subproject,
unlike executable and others. This means that two subprojects sharing
the same run_target name cause meson to crash.
Fix this by moving the subproject namespacing logic from the BuildTarget
class to the Target class.
|
|
Bring into compliance with flake8
|
|
This also adds a "# noqa: F401" comment on an unused "import lzma",
which we are using it in a try/except block that is being used to
check if the lzma module is importable; of course it is unused.
v2: This turned out to be a little tricky.
mesonbuild/modules/__init__.py had the "unused" import:
from ..interpreterbase import permittedKwargs, noKwargs
However, that meant that the various modules could do things like:
from . import noKwargs # "." is "mesonbuild.modules"
Which breaks when you remove __init__.py's "unused" import. I
could have tagged that import with "# noqa: F401", but instead I
chose to have each of the module import directly from
"..interpreterbase" instead of ".".
|
|
This only touches newlines, spaces, and (occaisionally) commas. Anything
else is left for another commit.
|
|
|
|
|
|
which can be a Windows .exe file.
|
|
|
|
|
|
|
|
|
|
For parity with gettext()
Fixes #1565
|
|
objects directly and snippets that just call into interpreter methods.
|
|
|
|
fix some linting errors
|
|
|
|
E241: multiple spaces after ','
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
|
Trivial cleanups in code
|
|
Cache the absolute dir that the script is searched in and the name of
the script. These are the only two things that change.
Update the test to test for both #1235 and the case when a script of the
same name is in a different directory (which also covers the subproject
case).
Closes #1235
|
|
Let's be more pythonic and 'not is' seems really weird.
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
|
Closes #1213
|
|
- Fix LINGUAS changes not being picked up
- Fix multiple langs per line in LINGUAS
- Make empty languages acceptable
Fixes #1127
|
|
Many frameworks, such as glib, provide translation functions and
functions that take format strings. As such every application using
these must duplicate the gettext arguments to function properly.
This reduces that duplication and improves correctness so they are
not left out.
Fixes #1123
|
|
This is a repeated task that we can simplify
Closes #1120
|
|
This avoids duplicating a list and allows the translation
maintainers to not have to modify the build system.
Mentioned in #1115
|
|
|
|
For each project this creates a <project>-update-po target.
When ran this updates the pot file and then merges it back
into the po files in the source directory with `msgmerge`
for project maintainers and translators.
Fixes #819
|
|
Some projects use this to allow using local its files
|
|
behave the same as custom_target.
|
|
|
|
|
|
|