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

Kieran Bingham kieran.bingham at ideasonboard.com
Wed Mar 20 17:20:56 CET 2019


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?

--
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


More information about the libcamera-devel mailing list