Commit Graph

1763 Commits

Author SHA1 Message Date
e4137ae3ec test: Make timeout <= 0 infinite duraction 2021-01-27 08:26:20 -05:00
baa9eeebe4 dist: Allow packaging subproject in same git repo as main project 2021-01-26 21:32:03 -05:00
0f5a136c40 docs: Fix sentence in Machine-files.md [skip ci]
Fixes: 1ca17dc853 ("docs/machine-files: Add a section on data types")
2021-01-26 08:09:53 -05:00
a24546d7da docs: Fix typo in Syntax.md [skip ci] 2021-01-23 17:25:51 +00:00
ec02753fbf docs: add documentation snippet for meson test console output changes 2021-01-22 12:18:59 +01:00
adb1b2f3f6 interpreter: accept external programs and dependencies for summary 2021-01-21 08:54:35 -05:00
f8681b12e1 MSVC and Clang-Cl Compiler Argument Cleanup
This commit performs some cleanup for the msvc and clang-cl arguments.

* "Disable Debug" (`/Od`) is no longer manually specified for optimization levels {`0`,`g`} (it is already the default for MSVC).
* "Run Time Checking" (`/RTC1`) removed from `debug` buildtype by default
* Clang-CL `debug` buildtype arguments now match MSVC arguments
* There is now no difference between `buildtype` flags and `debug` + `optimization` flags
2021-01-20 14:11:16 -05:00
2e48d13fa2 Added "How do I use a library before declaring it?" in the FAQ. 2021-01-20 19:07:04 +00:00
8133a7b9a4 Keep buildtype the same even if user changes debug and/or optimization. 2021-01-19 20:25:55 +00:00
a3d8dc546c Removal of /ZI on MSVC Debug
The /ZI flag adds in "Edit and Continue" debug information, which will
cause massive slowdown. It is not a flag that we should be adding by
default to debug builds.

/Zi will still be added.
2021-01-17 21:03:35 +00:00
ea2f34e286 mtest: allow quickly interrupting the test run
The new behavior of interrupting the longest running test with Ctrl-C is useful
when tests hang, but not when the run is completely broken for some reason.
Psychology tells us that the user will compulsively spam Ctrl-C in this case,
so exit if three Ctrl-C's are detected within a second.
2021-01-14 22:00:51 +00:00
e3bd45c7c3 Add qtcreator to IDE-integration.md 2021-01-14 08:40:07 -05:00
39ede12aa5 Fix misspells
Signed-off-by: Antonin Décimo <antonin.decimo@gmail.com>
2021-01-13 12:53:10 -05:00
adfcf77109 summary: align left, not align middle
aligning along the left is, I think, what most projects want to do.
Aligning along the middle looks subjectively ugly, and objectively
prevents me from further indenting an element, e.g.

  Build information:
    prefix                : /usr
    sysconfdir            : /etc
        conf file         : /etc/myprogram.conf
2021-01-12 19:19:00 -05:00
9efcdba0d5 Allow '//' as project function id due to git bash path conversion.
See https://stackoverflow.com/questions/54258996/git-bash-string-parameter-with-at-start-is-being-expanded-to-a-file-path
2021-01-12 17:42:57 +00:00
a0d54d0441 doc: fix invalid Commands.md example for introspect [skip ci]
It requires at least one option argument, and the one that provides
"basic information" about the project is --projectinfo, so let's use
that to demo the command.

Fixes #8182
2021-01-11 14:12:29 -05:00
72365e6856 Add Chicken-Libraries to Users.md (#8180) 2021-01-11 10:33:59 -05:00
8f1d9bb7b0 cmake: add PATH logic to preliminary dep check (fixes #8133) 2021-01-10 21:48:23 +00:00
c18a9715b8 Hotdoc: use template for Commands.md instead of generating the entire file (#8154)
* doc: fix hotdoc misuse for dynamically generated content

hotdoc has a native include feature for including files inline. Use this
to generate one file for each dynamically generated code block, and
include that file in Commands.md; see:
https://hotdoc.github.io/syntax-extensions.html#smart-file-inclusion-syntax

This permits us to move back to using the in-tree version of the hotdoc
*.md sources, thus fixing the incorrect inclusion of "builddir/" in the
"Edit on github" links which resulted from using copies as the source.

Fixes #8061

* doc: call the dummy file a "stamp" as it is a better known term
2021-01-10 14:48:34 +02:00
c9d9dacdbc Merge pull request #7860 from dcbaker/wip/2020-10/rust-module
Add a rust module
2021-01-06 00:05:48 +00:00
3d80a88bd3 modules: Add an unstable-rust module
Like other language specific modules this module is module for holding
rust specific helpers. This commit adds a test() function, which
simplifies using rust's internal unittest mechanism.

Rust tests are generally placed in the same code files as they are
testing, in contrast to languages like C/C++ and python which generally
place the tests in separate translation units. For meson this is
somewhat problematic from a repetition point of view, as the only
changes are generally adding --test, and possibly some dependencies.

The rustmod.test() method provides a mechanism to remove the repatition:
it takes a rust target, copies it, and then addes the `--test` option,
then creates a Test() target with the `rust` protocol. You can pass
additional dependencies via the `dependencies` keyword. This all makes
for a nice, DRY, test definition.
2021-01-05 15:10:50 -08:00
f9dd75f213 Fix last mention of Python 3.5. [skip ci] 2021-01-05 11:48:58 -08:00
d89ec98b47 mtest: Add support for rust unit tests
Rust has it's own built in unit test format, which is invoked by
compiling a rust executable with the `--test` flag to rustc. The tests
are then run by simply invoking that binary. They output a custom test
format, which this patch adds parsing support for. This means that we
can report each subtest in the junit we generate correctly, which should
be helpful for orchestration systems like gitlab and jenkins which can
parse junit XML.
2021-01-05 10:23:41 -08:00
67ee65f47e doc: restore accidentally removed images used in Getting-meson.md [skip ci]
Broken in commit 8a11cf357e

Fixes #8148
2021-01-03 20:41:35 -05:00
8a11cf357e Add simple start page for beginners. [skip ci] 2020-12-22 18:08:47 +00:00
55a3458d7b Revert "add owl chess in Users.md [skip ci]"
This reverts commit 7092efabb5.

No longer exists. See:
https://github.com/mesonbuild/meson/pull/7592#issuecomment-747817950
2020-12-17 21:06:34 -05:00
d32d0d6b53 Merge pull request #7902 from bonzini/mtest-build-depends-only
mtest: only build what is needed for the tests
2020-12-15 21:21:50 +00:00
521a1b9921 docs: Update link to libspng [skip ci]
libspng moved from Gitlab to Github. Update the link to point to the new location.
2020-12-15 17:49:05 +00:00
9a42779521 doc: fix typos for doubled words [skip ci]
"more more" is one place where we don't need more.

Fixes #8097
2020-12-14 21:24:34 -05:00
79e2c52a15 mtest: only build what is needed for the tests
It is a usual workflow to fix something and retest to see if it is fixed using a
particular test.  When tests start to become numerous, it becomes time consuming
for "meson test" to relink all of them (and in fact rebuild the whole project)
where the user has already specified the tests they want to run, as well as
the tests' dependencies.

Teach meson to be smart and only build what is needed for the test (or suite)
that were specified.

Fixes: #7473
Related: #7830
2020-12-14 10:53:36 +01:00
8d04b3ce74 CI: Move all remaining jobs from travis-ci to GHA
Some changes:

* Set HOME to /root, since github mounts its own HOME and 'wine'
  (because of permissions) and 'dub' (can't find packages) don't
  like that.
* Remove the seccomp option, doesn't seem to be needed.
2020-12-11 13:45:11 -08:00
a7aba905a0 compilers: add support for c++20/gnu++20
Fixes #8084.
2020-12-10 00:30:48 +02:00
0efcb0be5f pkgconfig: Respect variable ordering when passed as list
This fix a regression introduced in Meson 0.56.0 when using python 3.5.
Also mention in documentation that using a meson dict does not guarantee
ordering.

Fixes: #8074.
2020-12-10 00:28:34 +02:00
c21b04ba08 Add prelinking support for static libraries. 2020-12-03 22:58:07 +02:00
6e39dcad2f Update Vala Preprocessor section in documentation. Closes: #8040 [skip ci] 2020-11-29 23:51:47 +02:00
0deab2ee9e compiler: allow non-built internal dependencies as arguments
Allow methods on the compiler object to receive internal dependencies,
as long as they only specify compiler/linker arguments or other
dependencies that satisfy the same requirements.

This is useful if you're using internal dependencies to add special
"-D" flags such as -DNCURSES_WIDECHAR, -D_XOPEN_SOURCE_EXTENDED or
-DGLIB_STATIC_COMPILATION.
2020-11-24 00:03:35 +02:00
9d651fe61e add dependency recommendation [skip ci]
Co-authored-by: Eli Schwartz <eschwartz@archlinux.org>
2020-11-23 13:51:16 -05:00
1db800bf67 doc: fix confusing use of "build" as a directory argument [skip ci]
In most places, we now refer to "builddir/" which is a lot less likely
to make people think it is a subcommand which needs to be used
literally.

This is a regression since commit 276d342eba
due to the existence of new docs which were added later on, using the
wrong form.
2020-11-22 18:29:55 -08:00
15bbf1ea75 Handle cmake dependencies which require a specified version
Some CMake packages fail to find at all if no version is specified.
This commit adds a cmake_version parameter to dependency() to allow you
to specify the requested version.
2020-11-21 07:55:10 -08:00
913374834c Merge pull request #7894 from obilaniu/cudaupdates
Update unstable CUDA Module to support newest toolkits and drivers.
2020-11-18 23:12:15 +02:00
188695f202 Update Tutorial.md [skip ci] 2020-11-18 23:02:28 +02:00
c8af3c8d29 Revert "Add thinlto support. Closes #7493."
This reverts commit 3e6fbde94c.
2020-11-17 17:51:23 +02:00
98ddd472ed doc: add much-needed accuracy to pip installation instructions [skip ci]
- mention installing from local sources, not PyPI
- warn against --user installs, which too often screw up users that then
  cannot install projects because ~/.local won't be in sudo's PYTHONPATH
- advise installing with sudo -- current versions of pip assume --user
  for you rather than failing with permission errors, which is great
  unless, like meson, there are compelling reasons to need to install as
  root
2020-11-17 17:49:18 +02:00
59cacbbfc1 Add doc on how to add the [provide] entry to wrapdb entries. [skip ci] 2020-11-14 13:47:55 +02:00
8992729ade doc: fix typo [skip ci] 2020-11-12 12:46:29 -08:00
8351e85bbd interpreter: Add get_keys function for configuration_data (#7887) 2020-11-12 20:43:17 +02:00
3e6fbde94c Add thinlto support. Closes #7493. 2020-11-08 16:00:05 +02:00
ea5dd189c5 Update documentation for CUDA module. 2020-11-05 14:50:23 -05:00
cc033e5476 docs: Recommend to use SPDX license identifiers [skip ci]
Some license identifiers are ambiguous (e.g. "GPL3"). The SPDX license
identifiers avoid this by providing standardized and unique identifiers
(e.g. "GPL-3.0-only" or "GPL-3.0-or-later" for the previous example).

Because SPDX short-form identifiers are also both human- and
machine-readable we should recommend them in the documentation.

More information (advantages, details, etc.) can be found here:
- https://spdx.dev/resources/use/#identifiers
- https://spdx.dev/ids/

Fix #7905.
2020-11-05 21:28:12 +02:00
7860a6aeab rust: implement support for --edition
Using the std option, so now `rust_std=..` will work. I've chosen to use
"std" even though rust calls these "editions", as meson refers to
language versions as "standards", which makes meson feel more uniform,
and be less surprising.

Fixes: #5100
2020-11-05 21:24:20 +02:00