[libcamera-devel] [PATCH] meson: Provide options to disable test/docs

Niklas Söderlund niklas.soderlund at ragnatech.se
Wed Mar 20 17:25:51 CET 2019


Hi Kieran,

On 2019-03-20 16:20:56 +0000, Kieran Bingham wrote:
> Hi Niklas,
> 
> On 20/03/2019 16:17, Niklas Söderlund wrote:
> > Hi Kieran,
> > 
> > Thanks for your work.
> > 
> > On 2019-03-20 15:47:48 +0000, Kieran Bingham wrote:
> >> It can be desirable to disable the compilation and processing of both
> >> the test suite and documentation for use cases such as packaging to an
> >> embedded target.
> >>
> >> Provide a new meson_options.txt file to allow disabling either or both
> >> of the tests and documentation components of libcamera.
> >>
> >> These options can be provided at the initial configuration time, for
> >> example:
> >>
> >>   meson build -Dtests=false -Ddocumentation=false
> > 
> > This seems to work as expected on my system :-)
> > 
> > I'm a bit perplexed that options are enabled by default, my expectations 
> > looking at the code would be that they would be disabled if not 
> > explicitly enabled. But I assume this is just me struggling with 
> > wrapping my head around meson ;-P
> 
> 
> https://mesonbuild.com/Build-options.html#booleans
> 
> > Booleans may have values of either true or false. If no default value is supplied then true will be used as the default.
> 
> I can append a " value : true" to the option to make this clearer if you
> prefer?

No the default behavior is fine, in fact I prefers to only modify things 
if needed. I was just pointing out that without your example of that 
explicitly disabling the options I would have assumed that we would not 
build tests or documentation by default. Now I know how meson works so 
it's fine from my point of view, thanks :-)

> 
> --
> Regards
> 
> Kieran
> 
> 
> >> or by reconfiguring an existing build tree:
> >>
> >>   cd build
> >>   meson configure -Ddocumentation=false
> >>   meson configure -Dtests=false
> >>
> >> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> > 
> > Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> > 
> >> ---
> >>  meson.build       | 10 ++++++++--
> >>  meson_options.txt |  2 ++
> >>  2 files changed, 10 insertions(+), 2 deletions(-)
> >>  create mode 100644 meson_options.txt
> >>
> >> diff --git a/meson.build b/meson.build
> >> index 4465a3851a30..43d4a57602bb 100644
> >> --- a/meson.build
> >> +++ b/meson.build
> >> @@ -27,9 +27,15 @@ libcamera_includes = include_directories('include')
> >>  
> >>  subdir('include')
> >>  subdir('src')
> >> -subdir('test')
> >>  subdir('utils')
> >> -subdir('Documentation')
> >> +
> >> +if get_option('tests')
> >> +	subdir('test')
> >> +endif
> >> +
> >> +if get_option('documentation')
> >> +	subdir('Documentation')
> >> +endif
> >>  
> >>  pkg_mod = import('pkgconfig')
> >>  pkg_mod.generate(libraries : libcamera,
> >> diff --git a/meson_options.txt b/meson_options.txt
> >> new file mode 100644
> >> index 000000000000..c5df661a2286
> >> --- /dev/null
> >> +++ b/meson_options.txt
> >> @@ -0,0 +1,2 @@
> >> +option('tests', type : 'boolean')
> >> +option('documentation', type : 'boolean')
> >> -- 
> >> 2.19.1
> >>
> >> _______________________________________________
> >> libcamera-devel mailing list
> >> libcamera-devel at lists.libcamera.org
> >> https://lists.libcamera.org/listinfo/libcamera-devel
> > 
> 
> -- 
> Regards
> --
> Kieran

-- 
Regards,
Niklas Söderlund


More information about the libcamera-devel mailing list