From 9f48f5fe94d9608325e12c68bde2d37434f33283 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sun, 10 Mar 2019 19:25:09 +0200 Subject: [PATCH] Update everything for new release. --- docs/markdown/Release-notes-for-0.50.0.md | 335 ++++++++++++++++++ docs/markdown/snippets/clangformat.md | 11 - docs/markdown/snippets/cmake_module_path.md | 9 - docs/markdown/snippets/coarray.md | 3 - .../snippets/configure_default_opts.md | 6 - docs/markdown/snippets/crosslib.md | 7 - docs/markdown/snippets/cuda.md | 7 - .../snippets/extract_objects-file-arg.md | 4 - docs/markdown/snippets/find_library_header.md | 21 -- .../snippets/flang_fortran_compiler.md | 3 - docs/markdown/snippets/fortran_submodule.md | 12 - .../generator_with_multiple_outputs_4760.md | 3 - docs/markdown/snippets/hdf5.md | 3 - docs/markdown/snippets/includestr.md | 16 - .../snippets/introspect_breaking_format.md | 11 - .../snippets/introspect_buildoptions_no_bd.md | 11 - .../snippets/introspect_deps_no_bd.md | 25 -- .../snippets/introspect_meson_info.md | 6 - docs/markdown/snippets/introspect_multiple.md | 24 -- .../introspect_projectinfo_subprojects_dir.md | 4 - .../snippets/introspect_targets_no_bd.md | 21 -- docs/markdown/snippets/native-file-paths.md | 4 - docs/markdown/snippets/netcdf.md | 3 - docs/markdown/snippets/notfound_message.md | 38 -- docs/markdown/snippets/pgi_compilers.md | 6 - docs/markdown/snippets/python-path-method.md | 5 - docs/markdown/snippets/rewriter.md | 18 - docs/markdown/snippets/run_command_env.md | 9 - docs/markdown/snippets/warning_level_0.md | 3 - docs/sitemap.txt | 1 + man/meson.1 | 2 +- mesonbuild/coredata.py | 2 +- 32 files changed, 338 insertions(+), 295 deletions(-) create mode 100644 docs/markdown/Release-notes-for-0.50.0.md delete mode 100644 docs/markdown/snippets/clangformat.md delete mode 100644 docs/markdown/snippets/cmake_module_path.md delete mode 100644 docs/markdown/snippets/coarray.md delete mode 100644 docs/markdown/snippets/configure_default_opts.md delete mode 100644 docs/markdown/snippets/crosslib.md delete mode 100644 docs/markdown/snippets/cuda.md delete mode 100644 docs/markdown/snippets/extract_objects-file-arg.md delete mode 100644 docs/markdown/snippets/find_library_header.md delete mode 100644 docs/markdown/snippets/flang_fortran_compiler.md delete mode 100644 docs/markdown/snippets/fortran_submodule.md delete mode 100644 docs/markdown/snippets/generator_with_multiple_outputs_4760.md delete mode 100644 docs/markdown/snippets/hdf5.md delete mode 100644 docs/markdown/snippets/includestr.md delete mode 100644 docs/markdown/snippets/introspect_breaking_format.md delete mode 100644 docs/markdown/snippets/introspect_buildoptions_no_bd.md delete mode 100644 docs/markdown/snippets/introspect_deps_no_bd.md delete mode 100644 docs/markdown/snippets/introspect_meson_info.md delete mode 100644 docs/markdown/snippets/introspect_multiple.md delete mode 100644 docs/markdown/snippets/introspect_projectinfo_subprojects_dir.md delete mode 100644 docs/markdown/snippets/introspect_targets_no_bd.md delete mode 100644 docs/markdown/snippets/native-file-paths.md delete mode 100644 docs/markdown/snippets/netcdf.md delete mode 100644 docs/markdown/snippets/notfound_message.md delete mode 100644 docs/markdown/snippets/pgi_compilers.md delete mode 100644 docs/markdown/snippets/python-path-method.md delete mode 100644 docs/markdown/snippets/rewriter.md delete mode 100644 docs/markdown/snippets/run_command_env.md delete mode 100644 docs/markdown/snippets/warning_level_0.md diff --git a/docs/markdown/Release-notes-for-0.50.0.md b/docs/markdown/Release-notes-for-0.50.0.md new file mode 100644 index 000000000..ec6c4f605 --- /dev/null +++ b/docs/markdown/Release-notes-for-0.50.0.md @@ -0,0 +1,335 @@ +--- +title: Release 0.50.0 +short-description: Release notes for 0.50.0 +... + +# New features + +## Added `cmake_module_path` and `cmake_args` to dependency + +The CMake dependency backend can now make use of existing `Find.cmake` +files by setting the `CMAKE_MODULE_PATH` with the new `dependency()` property +`cmake_module_path`. The paths given to `cmake_module_path` should be relative +to the project source directory. + +Furthermore the property `cmake_args` was added to give CMake additional +parameters. + +## Added PGI compiler support + +Nvidia / PGI C, C++ and Fortran +[no-cost](https://www.pgroup.com/products/community.htm) compilers are +now supported. They have been tested on Linux so far. + + + +## Fortran Coarray + +Fortran 2008 / 2018 coarray support was added via `dependency('coarray')` + +## Libdir defaults to `lib` when cross compiling + +Previously `libdir` defaulted to the value of the build machine such +as `lib/x86_64-linux-gnu`, which is almost always incorrect when cross +compiling. It now defaults to plain `lib` when cross compiling. Native +builds remain unchanged and will point to the current system's library +dir. + +## Native and Cross File Paths and Directories + +A new `[paths]` section has been added to native and cross files. This +can be used to set paths such a prefix and libdir in a persistent way. + +## Add warning_level 0 option + +Adds support for a warning level 0 which does not enable any static +analysis checks from the compiler + +## A builtin target to run clang-format + +If you have `clang-format` installed and there is a `.clang-format` +file in the root of your master project, Meson will generate a run +target called `clang-format` so you can reformat all files with one +command: + +```meson +ninja clang-format +``` + + +## Added a .path() method to object return by python.find_installation() + +`ExternalProgram` objects as well as the object returned by the +`python3` module provide this method, but the new python module did +not. + +## Fix ninja console log from generators with multiple output nodes + +This resolves ticket #4760 where a generator w/ multiple output nodes +printed an empty string to the console + +## `introspect --buildoptions` can now be used without configured build directory + +It is now possible to run `meson introspect --buildoptions /path/to/meson.build` +without a configured build directory. + +Running `--buildoptions` without a build directory produces the same +output as running it with a freshly configured build directory. + +However, this behavior is not guaranteed if subprojects are +present. Due to internal limitations all subprojects are processed +even if they are never used in a real meson run. Because of this +options for the subprojects can differ. + +## `include_directories` accepts a string + +The `include_directories` keyword argument now accepts plain strings +rather than an include directory object. Meson will transparently +expand it so that a declaration like this: + +```meson +executable(..., include_directories: 'foo') +``` + +Is equivalent to this: + +```meson +foo_inc = include_directories('foo') +executable(..., include_directories: inc) +``` + +## Fortran submodule support + +Initial support for Fortran ``submodule`` was added, where the submodule is in +the same or different file than the parent ``module``. +The submodule hierarchy specified in the source Fortran code `submodule` +statements are used by Meson to resolve source file dependencies. +For example: + +```fortran +submodule (ancestor:parent) child +``` + + +## Add subproject_dir to --projectinfo introspection output + +This allows applications interfacing with Meson (such as IDEs) to know about +an overridden subproject directory. + +## Find library with its headers + +The `find_library()` method can now also verify if the library's headers are +found in a single call, using the `has_header()` method internally. + +```meson +# Aborts if the 'z' library is found but not its header file +zlib = find_library('z', has_headers : 'zlib.h') +# Returns not-found if the 'z' library is found but not its header file +zlib = find_library('z', has_headers : 'zlib.h', required : false) +``` + +Any keyword argument with the `header_` prefix passed to `find_library()` will +be passed to the `has_header()` method with the prefix removed. + +```meson +libfoo = find_library('foo', + has_headers : ['foo.h', 'bar.h'], + header_prefix : '#include ', + header_include_directories : include_directories('.')) +``` + +## NetCDF + +NetCDF support for C, C++ and Fortran is added via pkg-config. + +## added the Flang compiler +[Flang](https://github.com/flang-compiler/flang/releases) Fortran +compiler support was added. As with other Fortran compilers, flang is +specified using `FC=flang meson ..` or similar. + +## New `not_found_message` for dependency + +You can now specify a `not_found_message` that will be printed if the +specified dependency was not found. The point is to convert constructs +that look like this: + +```meson +d = dependency('something', required: false) +if not d.found() + message('Will not be able to do something.') +endif +``` + +Into this: + +```meson +d = dependency('something', + required: false, + not_found_message: 'Will not be able to do something.') +``` + +Or constructs like this: + +```meson +d = dependency('something', required: false) +if not d.found() + error('Install something by doing XYZ.') +endif +``` + +into this: + +```meson +d = dependency('something', + not_found_message: 'Install something by doing XYZ.') +``` + +Which works, because the default value of `required` is `true`. + +## Cuda support + +Compiling Cuda source code is now supported, though only with the +Ninja backend. This has been tested only on Linux for now. + +Because NVidia's Cuda compiler does not produce `.d` dependency files, +dependency tracking does not work. + +## `run_command` accepts `env` kwarg + +You can pass [`environment`](Reference-manual.html#environment-object) +object to [`run_command`](Reference-manual.html#run-command), just +like to `test`: + +```meson +env = environment() +env.set('FOO', 'bar') +run_command('command', 'arg1', 'arg2', env: env) +``` + +## `extract_objects` accepts `File` arguments + +The `extract_objects` function now supports File objects to tell it +what to extract. Previously, file paths could only be passed as strings. + +## Changed the JSON format of the introspection + +All paths used in the meson introspection JSON format are now absolute. This +affects the `filename` key in the targets introspection and the output of +`--buildsystem-files`. + +Furthermore, the `filename` and `install_filename` keys in the targets +introspection are now lists of strings with identical length. + +The `--target-files` option is now deprecated, since the same information +can be acquired from the `--tragets` introspection API. + +## Meson file rewriter + +This release adds the functionality to perform some basic modification +on the `meson.build` files from the command line. The currently +supported operations are: + +- For build targets: + - Add/Remove source files + - Add/Remove targets + - Modify a select set of kwargs + - Print some JSON information +- For dependencies: + - Modify a select set of kwargs +- For the project function: + - Modify a select set of kwargs + - Modify the default options list + +For more information see the rewriter documentation. + +## `introspect --scan-dependencies` can now be used to scan for dependencies used in a project + +It is now possible to run `meson introspect --scan-dependencies +/path/to/meson.build` without a configured build directory to scan for +dependencies. + +The output format is as follows: + +```json +[ + { + "name": "The name of the dependency", + "required": true, + "conditional": false, + "has_fallback": false + } +] +``` + +The `required` keyword specifies whether the dependency is marked as required +in the `meson.build` (all dependencies are required by default). The +`conditional` key indicates whether the `dependency()` function was called +inside a conditional block. In a real meson run these dependencies might not be +used, thus they _may_ not be required, even if the `required` key is set. The +`has_fallback` key just indicates whether a fallback was directly set in the +`dependency()` function. + +## `introspect --targets` can now be used without configured build directory + +It is now possible to run `meson introspect --targets /path/to/meson.build` +without a configured build directory. + +The generated output is similar to running the introspection with a build +directory. However, there are some key differences: + +- The paths in `filename` now are _relative_ to the future build directory +- The `install_filename` key is completely missing +- There is only one entry in `target_sources`: + - With the language set to `unknown` + - Empty lists for `compiler` and `parameters` and `generated_sources` + - The `sources` list _should_ contain all sources of the target + +There is no guarantee that the sources list in `target_sources` is correct. +There might be differences, due to internal limitations. It is also not +guaranteed that all targets will be listed in the output. It might even be +possible that targets are listed, which won't exist when meson is run normally. +This can happen if a target is defined inside an if statement. +Use this feature with care. + +## Added option to introspect multiple parameters at once + +Meson introspect can now print the results of multiple introspection +commands in a single call. The results are then printed as a single JSON +object. + +The format for a single command was not changed to keep backward +compatibility. + +Furthermore the option `-a,--all`, `-i,--indent` and `-f,--force-object-output` +were added to print all introspection information in one go, format the +JSON output (the default is still compact JSON) and force use the new +output format, even if only one introspection command was given. + +A complete introspection dump is also stored in the `meson-info` +directory. This dump will be (re)generated each time meson updates the +configuration of the build directory. + +Additionlly the format of `meson introspect target` was changed: + + - New: the `sources` key. It stores the source files of a target and their compiler parameters. + - New: the `defined_in` key. It stores the meson file where a target is defined + - New: the `subproject` key. It stores the name of the subproject where a target is defined. + - Added new target types (`jar`, `shared module`). + +## meson configure can now print the default options of an unconfigured project + +With this release, it is also possible to get a list of all build options +by invoking `meson configure` with the project source directory or +the path to the root `meson.build`. In this case, meson will print the +default values of all options. + +## HDF5 + +HDF5 support is added via pkg-config. + +## Added the `meson-info.json` introspection file + +Meson now generates a `meson-info.json` file in the `meson-info` directory +to provide introspection information about the latest meson run. This file +is updated when the build configuration is changed and the build files are +(re)generated. diff --git a/docs/markdown/snippets/clangformat.md b/docs/markdown/snippets/clangformat.md deleted file mode 100644 index 89832432d..000000000 --- a/docs/markdown/snippets/clangformat.md +++ /dev/null @@ -1,11 +0,0 @@ -## A builtin target to run clang-format - -If you have `clang-format` installed and there is a `.clang-format` -file in the root of your master project, Meson will generate a run -target called `clang-format` so you can reformat all files with one -command: - -```meson -ninja clang-format -``` - diff --git a/docs/markdown/snippets/cmake_module_path.md b/docs/markdown/snippets/cmake_module_path.md deleted file mode 100644 index 7beb453a8..000000000 --- a/docs/markdown/snippets/cmake_module_path.md +++ /dev/null @@ -1,9 +0,0 @@ -## Added `cmake_module_path` and `cmake_args` to dependency - -The CMake dependency backend can now make use of existing `Find.cmake` -files by setting the `CMAKE_MODULE_PATH` with the new `dependency()` property -`cmake_module_path`. The paths given to `cmake_module_path` should be relative -to the project source directory. - -Furthermore the property `cmake_args` was added to give CMake additional -parameters. diff --git a/docs/markdown/snippets/coarray.md b/docs/markdown/snippets/coarray.md deleted file mode 100644 index 961dce42f..000000000 --- a/docs/markdown/snippets/coarray.md +++ /dev/null @@ -1,3 +0,0 @@ -## Fortran Coarray - -Fortran 2008 / 2018 coarray support was added via `dependency('coarray')` diff --git a/docs/markdown/snippets/configure_default_opts.md b/docs/markdown/snippets/configure_default_opts.md deleted file mode 100644 index 4b88bdfb6..000000000 --- a/docs/markdown/snippets/configure_default_opts.md +++ /dev/null @@ -1,6 +0,0 @@ -## meson configure can now print the default options of an unconfigured project - -With this release, it is also possible to get a list of all build options -by invoking `meson configure` with the project source directory or -the path to the root `meson.build`. In this case, meson will print the -default values of all options. diff --git a/docs/markdown/snippets/crosslib.md b/docs/markdown/snippets/crosslib.md deleted file mode 100644 index 14fcc81cf..000000000 --- a/docs/markdown/snippets/crosslib.md +++ /dev/null @@ -1,7 +0,0 @@ -## Libdir defaults to `lib` when cross compiling - -Previously `libdir` defaulted to the value of the build machine such -as `lib/x86_64-linux-gnu`, which is almost always incorrect when cross -compiling. It now defaults to plain `lib` when cross compiling. Native -builds remain unchanged and will point to the current system's library -dir. diff --git a/docs/markdown/snippets/cuda.md b/docs/markdown/snippets/cuda.md deleted file mode 100644 index a4a92cd71..000000000 --- a/docs/markdown/snippets/cuda.md +++ /dev/null @@ -1,7 +0,0 @@ -## Cuda support - -Compiling Cuda source code is now supported, though only with the -Ninja backend. This has been tested only on Linux for now. - -Because NVidia's Cuda compiler does not produce `.d` dependency files, -dependency tracking does not work. diff --git a/docs/markdown/snippets/extract_objects-file-arg.md b/docs/markdown/snippets/extract_objects-file-arg.md deleted file mode 100644 index eff9a5492..000000000 --- a/docs/markdown/snippets/extract_objects-file-arg.md +++ /dev/null @@ -1,4 +0,0 @@ -## `extract_objects` accepts `File` arguments - -The `extract_objects` function now supports File objects to tell it -what to extract. Previously, file paths could only be passed as strings. diff --git a/docs/markdown/snippets/find_library_header.md b/docs/markdown/snippets/find_library_header.md deleted file mode 100644 index 55597abc5..000000000 --- a/docs/markdown/snippets/find_library_header.md +++ /dev/null @@ -1,21 +0,0 @@ -## Find library with its headers - -The `find_library()` method can now also verify if the library's headers are -found in a single call, using the `has_header()` method internally. - -```meson -# Aborts if the 'z' library is found but not its header file -zlib = find_library('z', has_headers : 'zlib.h') -# Returns not-found if the 'z' library is found but not its header file -zlib = find_library('z', has_headers : 'zlib.h', required : false) -``` - -Any keyword argument with the `header_` prefix passed to `find_library()` will -be passed to the `has_header()` method with the prefix removed. - -```meson -libfoo = find_library('foo', - has_headers : ['foo.h', 'bar.h'], - header_prefix : '#include ', - header_include_directories : include_directories('.')) -``` diff --git a/docs/markdown/snippets/flang_fortran_compiler.md b/docs/markdown/snippets/flang_fortran_compiler.md deleted file mode 100644 index d34d6cb94..000000000 --- a/docs/markdown/snippets/flang_fortran_compiler.md +++ /dev/null @@ -1,3 +0,0 @@ -## added the Flang compiler -[Flang](https://github.com/flang-compiler/flang/releases) Fortran compiler support was added. -As with other Fortran compilers, flang is specified using `FC=flang meson ..` or similar. diff --git a/docs/markdown/snippets/fortran_submodule.md b/docs/markdown/snippets/fortran_submodule.md deleted file mode 100644 index 9e4b9ccd6..000000000 --- a/docs/markdown/snippets/fortran_submodule.md +++ /dev/null @@ -1,12 +0,0 @@ -## Fortran submodule support - -Initial support for Fortran ``submodule`` was added, where the submodule is in -the same or different file than the parent ``module``. -The submodule hierarchy specified in the source Fortran code `submodule` -statements are used by Meson to resolve source file dependencies. -For example: - -```fortran -submodule (ancestor:parent) child -``` - diff --git a/docs/markdown/snippets/generator_with_multiple_outputs_4760.md b/docs/markdown/snippets/generator_with_multiple_outputs_4760.md deleted file mode 100644 index af9a75180..000000000 --- a/docs/markdown/snippets/generator_with_multiple_outputs_4760.md +++ /dev/null @@ -1,3 +0,0 @@ -## Fix ninja console log from generators with multiple output nodes - -This resolves ticket #4760 where a generator w/ multiple output nodes printed an empty string to the console diff --git a/docs/markdown/snippets/hdf5.md b/docs/markdown/snippets/hdf5.md deleted file mode 100644 index 8ebb4c034..000000000 --- a/docs/markdown/snippets/hdf5.md +++ /dev/null @@ -1,3 +0,0 @@ -## HDF5 - -HDF5 support is added via pkg-config. diff --git a/docs/markdown/snippets/includestr.md b/docs/markdown/snippets/includestr.md deleted file mode 100644 index fd4c1303c..000000000 --- a/docs/markdown/snippets/includestr.md +++ /dev/null @@ -1,16 +0,0 @@ -## `include_directories` accepts a string - -The `include_directories` keyword argument now accepts plain strings -rather than an include directory object. Meson will transparently -expand it so that a declaration like this: - -```meson -executable(..., include_directories: 'foo') -``` - -Is equivalent to this: - -```meson -foo_inc = include_directories('foo') -executable(..., include_directories: inc) -``` diff --git a/docs/markdown/snippets/introspect_breaking_format.md b/docs/markdown/snippets/introspect_breaking_format.md deleted file mode 100644 index a0fa29a30..000000000 --- a/docs/markdown/snippets/introspect_breaking_format.md +++ /dev/null @@ -1,11 +0,0 @@ -## Changed the JSON format of the introspection - -All paths used in the meson introspection JSON format are now absolute. This -affects the `filename` key in the targets introspection and the output of -`--buildsystem-files`. - -Furthermore, the `filename` and `install_filename` keys in the targets -introspection are now lists of strings with identical length. - -The `--target-files` option is now deprecated, since the same information -can be acquired from the `--tragets` introspection API. diff --git a/docs/markdown/snippets/introspect_buildoptions_no_bd.md b/docs/markdown/snippets/introspect_buildoptions_no_bd.md deleted file mode 100644 index f00847447..000000000 --- a/docs/markdown/snippets/introspect_buildoptions_no_bd.md +++ /dev/null @@ -1,11 +0,0 @@ -## `introspect --buildoptions` can now be used without configured build directory - -It is now possible to run `meson introspect --buildoptions /path/to/meson.build` -without a configured build directory. - -Running `--buildoptions` without a build directory produces the same output as running -it with a freshly configured build directory. - -However, this behavior is not guaranteed if subprojects are present. Due to internal -limitations all subprojects are processed even if they are never used in a real meson run. -Because of this options for the subprojects can differ. \ No newline at end of file diff --git a/docs/markdown/snippets/introspect_deps_no_bd.md b/docs/markdown/snippets/introspect_deps_no_bd.md deleted file mode 100644 index cfae58b49..000000000 --- a/docs/markdown/snippets/introspect_deps_no_bd.md +++ /dev/null @@ -1,25 +0,0 @@ -## `introspect --scan-dependencies` can now be used to scan for dependencies used in a project - -It is now possible to run `meson introspect --scan-dependencies /path/to/meson.build` -without a configured build directory to scan for dependencies. - -The output format is as follows: - -```json -[ - { - "name": "The name of the dependency", - "required": true, - "conditional": false, - "has_fallback": false - } -] -``` - -The `required` keyword specifies whether the dependency is marked as required -in the `meson.build` (all dependencies are required by default). The -`conditional` key indicates whether the `dependency()` function was called -inside a conditional block. In a real meson run these dependencies might not be -used, thus they _may_ not be required, even if the `required` key is set. The -`has_fallback` key just indicates whether a fallback was directly set in the -`dependency()` function. diff --git a/docs/markdown/snippets/introspect_meson_info.md b/docs/markdown/snippets/introspect_meson_info.md deleted file mode 100644 index 42f2fda8d..000000000 --- a/docs/markdown/snippets/introspect_meson_info.md +++ /dev/null @@ -1,6 +0,0 @@ -## Added the `meson-info.json` introspection file - -Meson now generates a `meson-info.json` file in the `meson-info` directory -to provide introspection information about the latest meson run. This file -is updated when the build configuration is changed and the build files are -(re)generated. diff --git a/docs/markdown/snippets/introspect_multiple.md b/docs/markdown/snippets/introspect_multiple.md deleted file mode 100644 index 79534153f..000000000 --- a/docs/markdown/snippets/introspect_multiple.md +++ /dev/null @@ -1,24 +0,0 @@ -## Added option to introspect multiple parameters at once - -Meson introspect can now print the results of multiple introspection -commands in a single call. The results are then printed as a single JSON -object. - -The format for a single command was not changed to keep backward -compatibility. - -Furthermore the option `-a,--all`, `-i,--indent` and `-f,--force-object-output` -were added to print all introspection information in one go, format the -JSON output (the default is still compact JSON) and force use the new -output format, even if only one introspection command was given. - -A complete introspection dump is also stored in the `meson-info` -directory. This dump will be (re)generated each time meson updates the -configuration of the build directory. - -Additionlly the format of `meson introspect target` was changed: - - - New: the `sources` key. It stores the source files of a target and their compiler parameters. - - New: the `defined_in` key. It stores the meson file where a target is defined - - New: the `subproject` key. It stores the name of the subproject where a target is defined. - - Added new target types (`jar`, `shared module`). diff --git a/docs/markdown/snippets/introspect_projectinfo_subprojects_dir.md b/docs/markdown/snippets/introspect_projectinfo_subprojects_dir.md deleted file mode 100644 index 6d893d07e..000000000 --- a/docs/markdown/snippets/introspect_projectinfo_subprojects_dir.md +++ /dev/null @@ -1,4 +0,0 @@ -## Add subproject_dir to --projectinfo introspection output - -This allows applications interfacing with Meson (such as IDEs) to know about -an overridden subproject directory. diff --git a/docs/markdown/snippets/introspect_targets_no_bd.md b/docs/markdown/snippets/introspect_targets_no_bd.md deleted file mode 100644 index 0172a4ec8..000000000 --- a/docs/markdown/snippets/introspect_targets_no_bd.md +++ /dev/null @@ -1,21 +0,0 @@ -## `introspect --targets` can now be used without configured build directory - -It is now possible to run `meson introspect --targets /path/to/meson.build` -without a configured build directory. - -The generated output is similar to running the introspection with a build -directory. However, there are some key differences: - -- The paths in `filename` now are _relative_ to the future build directory -- The `install_filename` key is completely missing -- There is only one entry in `target_sources`: - - With the language set to `unknown` - - Empty lists for `compiler` and `parameters` and `generated_sources` - - The `sources` list _should_ contain all sources of the target - -There is no guarantee that the sources list in `target_sources` is correct. -There might be differences, due to internal limitations. It is also not -guaranteed that all targets will be listed in the output. It might even be -possible that targets are listed, which won't exist when meson is run normally. -This can happen if a target is defined inside an if statement. -Use this feature with care. \ No newline at end of file diff --git a/docs/markdown/snippets/native-file-paths.md b/docs/markdown/snippets/native-file-paths.md deleted file mode 100644 index b091c4092..000000000 --- a/docs/markdown/snippets/native-file-paths.md +++ /dev/null @@ -1,4 +0,0 @@ -## Native and Cross File Paths and Directories - -A new `[paths]` section has been added to native and cross files. This -can be used to set paths such a prefix and libdir in a persistent way. diff --git a/docs/markdown/snippets/netcdf.md b/docs/markdown/snippets/netcdf.md deleted file mode 100644 index 711f17442..000000000 --- a/docs/markdown/snippets/netcdf.md +++ /dev/null @@ -1,3 +0,0 @@ -## NetCDF - -NetCDF support for C, C++ and Fortran is added via pkg-config. diff --git a/docs/markdown/snippets/notfound_message.md b/docs/markdown/snippets/notfound_message.md deleted file mode 100644 index d73c6b2bc..000000000 --- a/docs/markdown/snippets/notfound_message.md +++ /dev/null @@ -1,38 +0,0 @@ -## New `not_found_message` for dependency - -You can now specify a `not_found_message` that will be printed if the -specified dependency was not found. The point is to convert constructs -that look like this: - -```meson -d = dependency('something', required: false) -if not d.found() - message('Will not be able to do something.') -endif -``` - -Into this: - -```meson -d = dependency('something', - required: false, - not_found_message: 'Will not be able to do something.') -``` - -Or constructs like this: - -```meson -d = dependency('something', required: false) -if not d.found() - error('Install something by doing XYZ.') -endif -``` - -into this: - -```meson -d = dependency('something', - not_found_message: 'Install something by doing XYZ.') -``` - -Which works, because the default value of `required` is `true`. diff --git a/docs/markdown/snippets/pgi_compilers.md b/docs/markdown/snippets/pgi_compilers.md deleted file mode 100644 index f0839613a..000000000 --- a/docs/markdown/snippets/pgi_compilers.md +++ /dev/null @@ -1,6 +0,0 @@ -## Added PGI compiler support - -Nvidia / PGI C, C++ and Fortran [no-cost](https://www.pgroup.com/products/community.htm) compilers are now supported. -They have been tested on Linux so far. - - diff --git a/docs/markdown/snippets/python-path-method.md b/docs/markdown/snippets/python-path-method.md deleted file mode 100644 index 169180cbe..000000000 --- a/docs/markdown/snippets/python-path-method.md +++ /dev/null @@ -1,5 +0,0 @@ -## Added a .path() method to object return by python.find_installation() - -`ExternalProgram` objects as well as the object returned by the -`python3` module provide this method, but the new python module did -not. diff --git a/docs/markdown/snippets/rewriter.md b/docs/markdown/snippets/rewriter.md deleted file mode 100644 index 7a4621deb..000000000 --- a/docs/markdown/snippets/rewriter.md +++ /dev/null @@ -1,18 +0,0 @@ -## Meson file rewriter - -This release adds the functionality to perform some basic modification -on the `meson.build` files from the command line. The currently -supported operations are: - -- For build targets: - - Add/Remove source files - - Add/Remove targets - - Modify a select set of kwargs - - Print some JSON information -- For dependencies: - - Modify a select set of kwargs -- For the project function: - - Modify a select set of kwargs - - Modify the default options list - -For more information see the rewriter documentation. diff --git a/docs/markdown/snippets/run_command_env.md b/docs/markdown/snippets/run_command_env.md deleted file mode 100644 index dfa5ac5bd..000000000 --- a/docs/markdown/snippets/run_command_env.md +++ /dev/null @@ -1,9 +0,0 @@ -## `run_command` accepts `env` kwarg - -You can pass [`environment`](Reference-manual.html#environment-object) object to [`run_command`](Reference-manual.html#run-command), just like to `test`: - -```meson -env = environment() -env.set('FOO', 'bar') -run_command('command', 'arg1', 'arg2', env: env) -``` diff --git a/docs/markdown/snippets/warning_level_0.md b/docs/markdown/snippets/warning_level_0.md deleted file mode 100644 index 4836b1468..000000000 --- a/docs/markdown/snippets/warning_level_0.md +++ /dev/null @@ -1,3 +0,0 @@ -## Add warning_level 0 option - -Adds support for a warning level 0 which does not enable any static analysis checks from the compiler diff --git a/docs/sitemap.txt b/docs/sitemap.txt index e05e2bf5f..bea2a316c 100644 --- a/docs/sitemap.txt +++ b/docs/sitemap.txt @@ -73,6 +73,7 @@ index.md Shipping-prebuilt-binaries-as-wraps.md fallback-wraptool.md Release-notes.md + Release-notes-for-0.50.0.md Release-notes-for-0.49.0.md Release-notes-for-0.48.0.md Release-notes-for-0.47.0.md diff --git a/man/meson.1 b/man/meson.1 index 7eb8fb2ad..3b67aab91 100644 --- a/man/meson.1 +++ b/man/meson.1 @@ -1,4 +1,4 @@ -.TH MESON "1" "December 2018" "meson 0.49.0" "User Commands" +.TH MESON "1" "March 2019" "meson 0.50.0" "User Commands" .SH NAME meson - a high productivity build system .SH DESCRIPTION diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py index 28e78e5bd..066ad3082 100644 --- a/mesonbuild/coredata.py +++ b/mesonbuild/coredata.py @@ -27,7 +27,7 @@ import ast import argparse import configparser -version = '0.49.999' +version = '0.50.0' backendlist = ['ninja', 'vs', 'vs2010', 'vs2015', 'vs2017', 'xcode'] default_yielding = False