aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-11-08compilers/java: Add no_warn_args and debug_args methodsDylan Baker1-0/+8
2021-11-08modules/gnome: use typed_kwargs for gdbus_codegenDylan Baker1-51/+70
2021-11-08modules/gnome: use typed_kwargs for gtkdoc methodDylan Baker1-113/+121
2021-11-08modules/gnome: use typed_kwargs for generate_girDylan Baker1-142/+95
This removes the `packages` keyword argument, which was added in 80d665e8decd644d737930d450f0bc66d6b5b02c, but beyond not warning about unknown arguments has never done anything, and has never been documented. The only users I could find were in our own test suite. If someone is using this we can add it back with a deprecation warning.
2021-11-08modules/gnome: use typed_kwargs for compile_resourcesDylan Baker2-35/+74
2021-11-08modules/gnome: use typed_kwargs for yelpDylan Baker1-25/+26
2021-11-08modules/gnome: use typed_kwargs for compile_schemasDylan Baker1-9/+19
2021-11-08tests/vala: remove useless keyword argumentDylan Baker2-2/+0
The `packages` argument to `gnome.generate_gir` was allowed, but never did anything, so stop passing it.
2021-11-05Fix markdown formating in find_program.yamlrusty-snake1-2/+2
fixes #9528
2021-11-04fix regression that broke string.format with list objectsEli Schwartz2-0/+3
String formatting should validly assume that printing a list means printing the list itself. Instead, something like this broke: 'one is: @0@ and two is: @1@'.format(['foo', 'bar'], ['baz']) which would evaluate as: 'one is: foo and two is: bar' or: 'the value of array option foobar is: @0@'.format(get_option('foobar')) which should evaluate with '-Dfoobar=[]' as 'the value of array option foobar is: []' But instead produced: meson.build:7:0: ERROR: Format placeholder @0@ out of range. Fixes #9530
2021-11-02fix custom_target with install: true and no install_dir, crashingEli Schwartz1-1/+1
It's supposed to emit an error message, but instead it did a traceback. It used to be, if no install_dir was specified then it was simply not in kwargs, but due to typed_kwargs it will now be there, but not have viable contents, so the dict membership check got skipped. Fixes #9522
2021-11-02wrap: Fix concurrent os.mkdir()Xavier Claessens1-2/+1
Since 0.59.0 Meson downloads multiple wraps in parallel, so the packagecache directory could be created by one then the 2nd would hit error when calling os.mkdir() because it already exists.
2021-11-02Add tutorial for building an SDL app from scratch.Jussi Pakkanen9-0/+197
2021-11-02python.dependency(): Do not stop when first candidate is not foundXavier Claessens3-3/+12
It has to lookup the dependency with required=False otherwise it raises an exception when the first candidate (pkg-config) failed.
2021-11-02FAQ: Add entry about `add_project_link_arguments` and multiple languagesDylan Baker1-0/+44
This seems to come up fairly often, so having an FAQ entry seems useful.
2021-11-02Move language standard in separate method within vsbackendMoroz Oleg3-9/+24
2021-11-02Fixes .vcxproj for vs2017 vs2019Олег Мороз1-0/+9
fixes #6314 in case of backend is vs2017 or vs2019 place LanguageStandard tag with stdcpp version and LanguageStandard_C tag with stdc version in .vcxproj file
2021-11-01various manual conversion of percent-formatted strings to f-stringsEli Schwartz14-90/+80
2021-11-01fix broken error message that printed formatter codesEli Schwartz1-1/+1
This was probably supposed to be percent-formatted but got typoed to a comma instead. Rewrite as an f-string.
2021-11-01fix typoed vs backend tokenEli Schwartz1-1/+1
2021-11-01coverage generator: obey the documentation and only generate supported outputsEli Schwartz3-36/+44
We say: > If version 4.2 or higher of the first is found, targets coverage-text, > coverage-xml, coverage-sonarqube and coverage-html are generated. But this is totally untrue. Make it true, by actually checking (and not generating broken coverage commands when older versions of gcovr are found). Fixes #9505
2021-11-01modules/gnome: don't use dict.keys() to test membershipDylan Baker1-2/+2
This is slower than looking in the dictionary, as the dict lookup is O(log n), while keys() is O(n).
2021-11-01modules/gnome: use textwrap.dedentDylan Baker1-35/+44
Python is a whitespace significant language, changing indent level implies that scope is changing. So when a string like ```python def foo(): a = ''' somthing ''' return a ``` It's visually misleading. Couple that with folding editors like vim getting utterly confused by this, and it turns into a real pain. Using textwrap.dedent allows us to get rid of that: ```python def foo(): a = texwrap.dedent( ''' something ''') return a ``` But we still get the same result
2021-11-01modules/gnome: use envconfig for VAPIGENDylan Baker2-4/+2
we have a mechanism for doing "this could be an environment variable" let's use that.
2021-11-01mesonbuild/module/gnome: remove unused variableDylan Baker1-1/+1
2021-11-01modules/gnome: Use typed_pos_args for generate_vapiDylan Baker1-7/+2
2021-11-01modules/gnome: use typed_pos_args for genmarshalDylan Baker1-4/+2
2021-11-01modules/gnome: use typed_pos_Args for mkenums_simpleDylan Baker1-3/+4
2021-11-01modules/gnome: use typed_pos_args for mkenumsDylan Baker1-3/+2
2021-11-01modules/gnome: use typed_pos_args for gdbus_codegenDylan Baker1-4/+3
2021-11-01modules/gnome: use typed_pos_args for gtkdoc_html_dirDylan Baker1-9/+5
2021-11-01modules/gnome: use typed_pos_args for gtkdocDylan Baker1-5/+2
2021-11-01modules/gnome: use typed_pos_args for yelpDylan Baker1-6/+3
2021-11-01modules/gnome: use noPosargs for compile_schemasDylan Baker1-3/+2
2021-11-01modules/gnome: use typed_pos_args for generate_girDylan Baker1-4/+4
2021-11-01modules/gnome: use typed_pos_args for compile_resourcesDylan Baker1-29/+24
2021-11-01modules/gnome: add some type annotationsDylan Baker1-113/+161
This is not complete, but it's a start. The rest will have to get finished as we go
2021-11-01modules/gnome: clean and sort dependenciesDylan Baker1-11/+11
2021-11-01build: Add type annotations to BuildTarget.get_all_link_depsDylan Baker1-1/+1
2021-11-01build: Add annotations to CustomTarget.extra_dependsDylan Baker1-2/+2
2021-11-01build: Add a get_command method to ExecutableDylan Baker1-0/+7
Since Executable can be used in places where ExternalProgram is, simply having a wrapper that gives them the same API is pretty useful.
2021-11-01modules: use IncludeDirs.to_string_list instead of open codingDylan Baker1-12/+3
This both allows more cod re-use, and simplifies the code.
2021-11-01build: IncludeDirs extend `to_string_list` method to handle builddirDylan Baker1-2/+10
2021-11-01build: Add type annotations for BuildTarget.include_dirsDylan Baker1-4/+4
The gnome module uses these, so to be able to fully type that we need this.
2021-11-01interpreter/modules: ModuleReturnValue can hold ExecutableSerialisationDylan Baker2-3/+4
The code for this exists and works, but the type annotations don't allow it. This fixes the annotations
2021-11-01modules: remove harmful forwarding init methodsDylan Baker1-10/+5
There is no reason for these inititializers to exist, all they do is defer to the parent initializer. Worse, since they are not type annotated thy prevent the parent type annotations from being used
2021-11-01interpreter: add type annotations for program_from_overridesDylan Baker1-1/+2
2021-10-31Add 64-bit paths to check for unsupported Watcom cl.exe clones.William D. Jones1-1/+4
2021-11-01migrate python 3.5 compatible superclass variable annotations to 3.6Eli Schwartz2-8/+4
As we now require python 3.6, we can declare their types without initializing them.
2021-11-01Revert "known Python 3.5 on windows workaround for subprocess(cwd=str(Path))"Eli Schwartz1-2/+1
This reverts commit c89aa2094170b2ffd7151187c1c092db2a178f44. We no longer support 3.5 so this can go.