meson/test cases/warning
Dylan Baker 4a014d1724 Add support for meson.options as a replacement for meson_options.txt
We will still try to load `meson_options.txt` if `meson.options` doesn't
exist. Because there are some advantages to using `meson.options` even
with older versions of meson (such as better text editor handling)
we will not warn about the existence of a `meson.options` file if a
`meson_options.txt` file or symlink also exists.

The name `meson.options` was picked instead of alternative proposals,
such as `meson_options.build` for a couple of reasons:

  1. meson.options is shorter
  2. While the syntax is the same, only the `option()` function may be
     called in meson.options, while, it may not be called in meson.build
  3. While the two files share a syntax and elementary types (strings,
     arrays, etc), they have different purposes: `meson.build` declares
     build targets, `meson.options` declares options. This is similar to
     the difference between C's `.c` and `.h` extensions.

As an implementation detail `Interpreter.option_file` has been removed,
as it is used exactly once, in the `project()` call to read the options,
and we can just calculate it there and not store it.

Fixes: #11176
2023-03-28 15:01:10 +03:00
..
1 version for string div Reword message in warning 2022-05-19 07:18:43 -04:00
2 languages missing native Only emit warning about "native:" on projects with minimum required version 2020-07-28 19:51:58 +02:00
3 fallback consistency cmake: ci: Skip tests on Ubuntu Bionic where CMake is stuck on 3.10 2022-02-03 11:25:59 -05:00
4 fallback consistency cmake: ci: Skip tests on Ubuntu Bionic where CMake is stuck on 3.10 2022-02-03 11:25:59 -05:00
5 fallback consistency cmake: ci: Skip tests on Ubuntu Bionic where CMake is stuck on 3.10 2022-02-03 11:25:59 -05:00
6 list add Reword message in warning 2022-05-19 07:18:43 -04:00
7 module without unstable interpreter: move handling of module stability to interpreter 2022-08-17 16:25:36 -04:00
8 target with no sources tests: Add a test for a target with no sources 2022-09-09 19:13:46 -04:00
9 meson.options Add support for meson.options as a replacement for meson_options.txt 2023-03-28 15:01:10 +03:00