[libcamera-devel] [PATCH v3] meson: options: Add an option to control compilation of qcam

Umang Jain email at uajain.com
Thu Jun 25 08:00:20 CEST 2020


Hi Laurent, Niklas,

Thanks for the explanation.

Now I understand what 'auto' exactly means. :)

On 6/25/20 9:03 AM, Laurent Pinchart wrote:
> Hi Umang,
>
> On Tue, Jun 23, 2020 at 05:30:45AM +0000, Umang Jain wrote:
>> Hi Niklas,
>>
>> One query:
>> The value of global 'auto_features' defaults to 'auto' (which in turn means
>> require: false). I didn't see 'auto_features' being declared anywhere in the
>> codebase.
>>
>> With this patch applied:
>> $ meson --auto-features=auto build && ninja -C build
>> built qcam for me. It shouldn't have been built because 'auto'
>> implies 'requires: false', no?
> "requires : false" doesn't imply that qcam won't get built, it implies
> that if its dependencies are not found, it can be skipped. In this case,
> with the qcam option having the value 'auto', qcam will be built if Qt
> is found, and skipped otherwise. If you set the qcam option to 'enabled'
> instead, and Qt is missing, meson will complain. If you set the option
> to 'disabled', qcam will not be built, regardless of whether Qt is
> available or not. I haven't tested this though, so my understanding
> could be wrong.
>
>> Maybe a meson bug or am I missing something.
>>
>> On 6/22/20 6:59 PM, Niklas Söderlund wrote:
>>> Add an option to control compilation of the qcam test application. The
>>> default behavior is to compile qcam, no change in behavior without user
>>> intervention.
>>>
>>> Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
>>> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
>>> ---
>>> * Changes since v2
>>> - Default to auto instead of enabled.
>>>
>>> * Changes since v1
>>> - Sort options alphabetical in meson_options.txt
>>> - Use feature instead of boolean and attach it to the qt5_dep
>>> ---
>>>    meson_options.txt    | 5 +++++
>>>    src/qcam/meson.build | 2 +-
>>>    2 files changed, 6 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/meson_options.txt b/meson_options.txt
>>> index badace151bb62bc9..e9e815fde366c89d 100644
>>> --- a/meson_options.txt
>>> +++ b/meson_options.txt
>>> @@ -19,6 +19,11 @@ option('pipelines',
>>>            choices : ['ipu3', 'raspberrypi', 'rkisp1', 'simple', 'uvcvideo', 'vimc'],
>>>            description : 'Select which pipeline handlers to include')
>>>    
>>> +option('qcam',
>>> +        type : 'feature',
>>> +        value : 'auto',
>>> +        description : 'Compile the qcam test application')
>>> +
>>>    option('test',
>>>            type : 'boolean',
>>>            description: 'Compile and include the tests')
>>> diff --git a/src/qcam/meson.build b/src/qcam/meson.build
>>> index 045db52acf26d71b..6ea886a32236d40f 100644
>>> --- a/src/qcam/meson.build
>>> +++ b/src/qcam/meson.build
>>> @@ -22,7 +22,7 @@ qt5 = import('qt5')
>>>    qt5_dep = dependency('qt5',
>>>                         method : 'pkg-config',
>>>                         modules : ['Core', 'Gui', 'Widgets'],
>>> -                     required : false)
>>> +                     required : get_option('qcam'))
>>>    
>>>    if qt5_dep.found()
>>>        qcam_deps = [
>> Reviewed-by: Umang Jain <email at uajain.com>


More information about the libcamera-devel mailing list