Skip to content

Commit

Permalink
meson: enable distro settings by default
Browse files Browse the repository at this point in the history
Signed-off-by: Stephan Lachnit <[email protected]>
  • Loading branch information
stephanlachnit committed Feb 6, 2021
1 parent e192e47 commit d712b8f
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 9 deletions.
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,13 +132,13 @@ Some differences between inih and Python's [ConfigParser](http://docs.python.org
## Meson notes ##

* The `meson.build` file is not required to use or compile inih, its main purpose is for distributions.
* By default Meson only creates a static library for inih, but Meson can be used to configure this behavior:
* with `-Ddefault_library=shared` a shared library is build.
* with `-Ddistro_install=true` the library will be installed with the header and a pkg-config entry, you may want to set `-Ddefault_library=shared` when using this.
* with `-Dwith_INIReader` you can build (and install if selected) the C++ library.
* all compile-time options are implemented in Meson as well, you can take a look at [meson_options.txt](https://github.com/benhoyt/inih/blob/master/meson_options.txt) for their definition. These won't work if `distro_install` is set to `true`.
* By default Meson is set up for distro installation, but this behavior can be configured for embedded use cases:
* with `-Ddefault_library=static` static libraries are built.
* with `-Ddistro_install=false` libraries, headers and pkg-config files won't be installed.
* with `-Dwith_INIReader=false` you can disable building the C++ library.
* All compile-time options are implemented in Meson as well, you can take a look at [meson_options.txt](https://github.com/benhoyt/inih/blob/master/meson_options.txt) for their definition. These won't work if `distro_install` is set to `true`.
* If you want to use inih for programs which may be shipped in a distro, consider linking against the shared libraries. The pkg-config entries are `inih` and `INIReader`.
* In case you use inih as a subproject, you can use the `inih_dep` and `INIReader_dep` dependency variables.
* In case you use inih as a Meson subproject, you can use the `inih_dep` and `INIReader_dep` dependency variables. You might want to set `default_library=static` and `distro_install=false` for the subproject. An official Wrap is provided on [WrapDB](https://wrapdb.mesonbuild.com/inih).

## Building from vcpkg ##

Expand Down
1 change: 0 additions & 1 deletion meson.build
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
project('inih',
['c'],
default_options : ['default_library=static'],
license : 'BSD-3-Clause',
)

Expand Down
4 changes: 2 additions & 2 deletions meson_options.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
option('distro_install',
type : 'boolean',
value : false,
value : true,
description : 'install shared libs, headers and pkg-config entries'
)
option('with_INIReader',
type : 'boolean',
value : false,
value : true,
description : 'compile and (if selected) install INIReader'
)
option('multi-line_entries',
Expand Down

0 comments on commit d712b8f

Please sign in to comment.