[libcamera-devel] meson: Describe minimum meson version requirements

Message ID 20181130094802.14084-1-kieran.bingham@ideasonboard.com
State Accepted
Commit b15e378851feefa29e43e0fab55a9db946c11dc8
Headers show
Series
  • [libcamera-devel] meson: Describe minimum meson version requirements
Related show

Commit Message

Kieran Bingham Nov. 30, 2018, 9:48 a.m. UTC
We utilise 'add_project_arguments' which is only available in version
0.36 and 'build_by_default' which is only available in version 0.40 of
meson.

Add this dependancy to the project requirements.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
 meson.build | 1 +
 1 file changed, 1 insertion(+)

Comments

Jacopo Mondi Nov. 30, 2018, 11:23 a.m. UTC | #1
Hi Kieran,

On Fri, Nov 30, 2018 at 09:48:02AM +0000, Kieran Bingham wrote:
> We utilise 'add_project_arguments' which is only available in version
> 0.36 and 'build_by_default' which is only available in version 0.40 of
> meson.
>
> Add this dependancy to the project requirements.
>
> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

An older meson version shipped by my distro actually broke my build

Acked-by: Jacopo Mondi <jacopo@jmondi.org>

Thanks
  j

> ---
>  meson.build | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/meson.build b/meson.build
> index 1e2bf9563515..e0aeefa30330 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1,4 +1,5 @@
>  project('libcamera - supporting complex camera pipelines', 'c', 'cpp',
> +  meson_version: '>= 0.40',
>    version : '0.1',
>    license : 'LGPL 2.1+')
>
> --
> 2.17.1
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel@lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
Laurent Pinchart Nov. 30, 2018, 2:20 p.m. UTC | #2
Hi Kieran,

Thank you for the patch.

On Friday, 30 November 2018 11:48:02 EET Kieran Bingham wrote:
> We utilise 'add_project_arguments' which is only available in version
> 0.36 and 'build_by_default' which is only available in version 0.40 of
> meson.

Debian stable ships 0.37.1. Is there a chance we could replace 
build_by_default with something else ? Otherwise, I'm fine with this patch as 
it describes the reality.

> Add this dependancy to the project requirements.
> 
> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> ---
>  meson.build | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/meson.build b/meson.build
> index 1e2bf9563515..e0aeefa30330 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1,4 +1,5 @@
>  project('libcamera - supporting complex camera pipelines', 'c', 'cpp',
> +  meson_version: '>= 0.40',
>    version : '0.1',
>    license : 'LGPL 2.1+')
Kieran Bingham Nov. 30, 2018, 3:22 p.m. UTC | #3
On 30/11/2018 14:20, Laurent Pinchart wrote:
> Hi Kieran,
> 
> Thank you for the patch.
> 
> On Friday, 30 November 2018 11:48:02 EET Kieran Bingham wrote:
>> We utilise 'add_project_arguments' which is only available in version
>> 0.36 and 'build_by_default' which is only available in version 0.40 of
>> meson.
> 
> Debian stable ships 0.37.1. Is there a chance we could replace 
> build_by_default with something else ? Otherwise, I'm fine with this patch as 
> it describes the reality.


Not that I can see. (as in to make it auto-build)

The only way to build the documentation if build_by_default isn't there
is to run:
  meson build
  cd build
  ninja Documentation/html


Would you prefer to see documentation not get built unless it's
explicitly asked for ?

(which requires the build to know what they are asking to be built. ..
but perhaps that's not a bad thing in a way)
--
Kieran



>> Add this dependancy to the project requirements.
>>
>> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
>> ---
>>  meson.build | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/meson.build b/meson.build
>> index 1e2bf9563515..e0aeefa30330 100644
>> --- a/meson.build
>> +++ b/meson.build
>> @@ -1,4 +1,5 @@
>>  project('libcamera - supporting complex camera pipelines', 'c', 'cpp',
>> +  meson_version: '>= 0.40',
>>    version : '0.1',
>>    license : 'LGPL 2.1+')
>
Laurent Pinchart Nov. 30, 2018, 5:04 p.m. UTC | #4
Hi Kieran,

On Friday, 30 November 2018 17:22:20 EET Kieran Bingham wrote:
> On 30/11/2018 14:20, Laurent Pinchart wrote:
> > On Friday, 30 November 2018 11:48:02 EET Kieran Bingham wrote:
> >> We utilise 'add_project_arguments' which is only available in version
> >> 0.36 and 'build_by_default' which is only available in version 0.40 of
> >> meson.
> > 
> > Debian stable ships 0.37.1. Is there a chance we could replace
> > build_by_default with something else ? Otherwise, I'm fine with this patch
> > as it describes the reality.
> 
> Not that I can see. (as in to make it auto-build)
> 
> The only way to build the documentation if build_by_default isn't there
> is to run:
>   meson build
>   cd build
>   ninja Documentation/html
> 
> 
> Would you prefer to see documentation not get built unless it's
> explicitly asked for ?

I like that it gets built by default, so I'd prefer keeping this feature. It 
makes the documentation a first class citizen, as important as the code.

By the way, according to http://mesonbuild.com/Reference-manual.html#custom_target, build_by_default got introduced in v0.38, not 
v0.40. The source code however warns if the argument is used with a target 
version older than v0.40. I believe that's a bug, but we're stuck with it.

Let's thus commit this patch,

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> (which requires the build to know what they are asking to be built. ..
> but perhaps that's not a bad thing in a way)
> 
> >> Add this dependancy to the project requirements.
> >> 
> >> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> >> ---
> >> 
> >>  meson.build | 1 +
> >>  1 file changed, 1 insertion(+)
> >> 
> >> diff --git a/meson.build b/meson.build
> >> index 1e2bf9563515..e0aeefa30330 100644
> >> --- a/meson.build
> >> +++ b/meson.build
> >> @@ -1,4 +1,5 @@
> >>  project('libcamera - supporting complex camera pipelines', 'c', 'cpp',
> >> +  meson_version: '>= 0.40',
> >>    version : '0.1',
> >>    license : 'LGPL 2.1+')
> >>

Patch

diff --git a/meson.build b/meson.build
index 1e2bf9563515..e0aeefa30330 100644
--- a/meson.build
+++ b/meson.build
@@ -1,4 +1,5 @@ 
 project('libcamera - supporting complex camera pipelines', 'c', 'cpp',
+  meson_version: '>= 0.40',
   version : '0.1',
   license : 'LGPL 2.1+')