[{"id":1676,"web_url":"https://patchwork.libcamera.org/comment/1676/","msgid":"<c1cae26f-819e-f7d5-fad5-dd052448a1ca@ideasonboard.com>","date":"2019-05-23T10:07:22","subject":"Re: [libcamera-devel] [PATCH v3 2/3] meson: Create and use a\n\tdependency for libcamera and its headers","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Laurent,\n\nOn 22/05/2019 22:22, Laurent Pinchart wrote:\n> Instead of manually adding the libcamera library and include path to\n> every target that requires it, declare a dependency that groups the\n> headers as source, the library and the include path, and use it through\n> the project. This simplifies handling of the dependency.\n\nAha, this looks interesting!\n\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> ---\n>  src/cam/meson.build             | 5 ++---\n>  src/libcamera/meson.build       | 4 ++++\n>  src/qcam/meson.build            | 4 +---\n>  test/camera/meson.build         | 1 +\n>  test/ipa/meson.build            | 2 ++\n>  test/libtest/meson.build        | 3 +--\n>  test/media_device/meson.build   | 2 ++\n>  test/meson.build                | 2 ++\n>  test/pipeline/ipu3/meson.build  | 1 +\n>  test/v4l2_device/meson.build    | 1 +\n>  test/v4l2_subdevice/meson.build | 1 +\n>  11 files changed, 18 insertions(+), 8 deletions(-)\n> \n> diff --git a/src/cam/meson.build b/src/cam/meson.build\n> index 851295091d0d..3faddc6c8d85 100644\n> --- a/src/cam/meson.build\n> +++ b/src/cam/meson.build\n> @@ -6,6 +6,5 @@ cam_sources = files([\n>  ])\n>  \n>  cam  = executable('cam', cam_sources,\n> -                  link_with : libcamera,\n> -                  install : true,\n> -                  include_directories : libcamera_includes)\n> +                  dependencies : libcamera_dep,\n> +                  install : true)\n> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n> index 8294ed357154..0ebb25bcb821 100644\n> --- a/src/libcamera/meson.build\n> +++ b/src/libcamera/meson.build\n> @@ -65,3 +65,7 @@ libcamera = shared_library('camera',\n>                             install : true,\n>                             include_directories : includes,\n>                             dependencies : libudev)\n> +\n> +libcamera_dep = declare_dependency(sources : libcamera_api,\n> +                                   include_directories : libcamera_includes,\n> +                                   link_with : libcamera)\n> diff --git a/src/qcam/meson.build b/src/qcam/meson.build\n> index 56b57a266b29..9f1fa75f9813 100644\n> --- a/src/qcam/meson.build\n> +++ b/src/qcam/meson.build\n> @@ -15,9 +15,7 @@ qt5_dep = dependency('qt5',\n>  \n>  if qt5_dep.found()\n>      qcam  = executable('qcam', qcam_sources,\n> -                       link_with : libcamera,\n>                         install : true,\n> -                       include_directories : libcamera_includes,\n> -                       dependencies : qt5_dep,\n> +                       dependencies : [libcamera_dep, qt5_dep],\n>                         cpp_args : '-DQT_NO_KEYWORDS')\n>  endif\n> diff --git a/test/camera/meson.build b/test/camera/meson.build\n> index b01e7e025de1..35e97ce5de1a 100644\n> --- a/test/camera/meson.build\n> +++ b/test/camera/meson.build\n> @@ -9,6 +9,7 @@ camera_tests = [\n>  \n>  foreach t : camera_tests\n>      exe = executable(t[0], [t[1], 'camera_test.cpp'],\n> +                     dependencies : libcamera_dep,\n>                       link_with : test_libraries,\n>                       include_directories : test_includes_internal)\n>      test(t[0], exe, suite : 'camera', is_parallel : false)\n> diff --git a/test/ipa/meson.build b/test/ipa/meson.build\n> index 53015e38381f..ecde313c6dc5 100644\n> --- a/test/ipa/meson.build\n> +++ b/test/ipa/meson.build\n> @@ -5,6 +5,7 @@ ipa_modules_sources = [\n>  \n>  foreach m : ipa_modules_sources\n>      shared_library(m, name_prefix : '',\n> +                   dependencies : libcamera_dep,\n>                     include_directories : test_includes_public)\n>  endforeach\n>  \n> @@ -14,6 +15,7 @@ ipa_test = [\n>  \n>  foreach t : ipa_test\n>      exe = executable(t[0], t[1],\n> +                     dependencies : libcamera_dep,\n>                       link_with : test_libraries,\n\n\nShould the 'test_libraries' be moved to some sort of dependency too ?\n\nCan test_libraries then depend on libcamera_dep to act in a dependency\nchain?\n\n>                       include_directories : test_includes_internal)\n>  \n> diff --git a/test/libtest/meson.build b/test/libtest/meson.build\n> index e0893b70c3d4..112debbce30f 100644\n> --- a/test/libtest/meson.build\n> +++ b/test/libtest/meson.build\n> @@ -6,11 +6,10 @@ libtest = static_library('libtest', libtest_sources)\n>  \n\nWhat about putting a dependency on libcamera in the libtest as you did\nbelow for lib_mdev_test ?\n\n\n>  libtest_includes = include_directories('.')\n>  \n> -test_libraries = [libcamera, libtest]\n> +test_libraries = [libtest]\n>  \n>  test_includes_public = [\n>      libtest_includes,\n> -    libcamera_includes,\n>  ]\n>  \n>  test_includes_internal = [\n> diff --git a/test/media_device/meson.build b/test/media_device/meson.build\n> index 124f454ec865..6a0e468434b5 100644\n> --- a/test/media_device/meson.build\n> +++ b/test/media_device/meson.build\n> @@ -9,10 +9,12 @@ media_device_tests = [\n>  ]\n>  \n>  lib_mdev_test = static_library('lib_mdev_test', lib_mdev_test_sources,\n> +                               dependencies : libcamera_dep,\n>                                 include_directories : test_includes_internal)\n>  \n>  foreach t : media_device_tests\n>      exe = executable(t[0], t[1],\n> +                     dependencies : libcamera_dep,\n>                       link_with : [test_libraries, lib_mdev_test],\n>                       include_directories : test_includes_internal)\n>  \n> diff --git a/test/meson.build b/test/meson.build\n> index ef4136793f03..609aeab80e7d 100644\n> --- a/test/meson.build\n> +++ b/test/meson.build\n> @@ -21,6 +21,7 @@ internal_tests = [\n>  \n>  foreach t : public_tests\n>      exe = executable(t[0], t[1],\n> +                     dependencies : libcamera_dep,\n>                       link_with : test_libraries,\n>                       include_directories : test_includes_public)\n>  \n> @@ -29,6 +30,7 @@ endforeach\n>  \n>  foreach t : internal_tests\n>      exe = executable(t[0], t[1],\n> +                     dependencies : libcamera_dep,\n>                       link_with : test_libraries,\n>                       include_directories : test_includes_internal)\n>  \n> diff --git a/test/pipeline/ipu3/meson.build b/test/pipeline/ipu3/meson.build\n> index 87074588c651..d02927c9af86 100644\n> --- a/test/pipeline/ipu3/meson.build\n> +++ b/test/pipeline/ipu3/meson.build\n> @@ -4,6 +4,7 @@ ipu3_test = [\n>  \n>  foreach t : ipu3_test\n>      exe = executable(t[0], t[1],\n> +                     dependencies : libcamera_dep,\n>                       link_with : test_libraries,\n>                       include_directories : test_includes_internal)\n>  \n> diff --git a/test/v4l2_device/meson.build b/test/v4l2_device/meson.build\n> index 32556cf5ea18..de540b1ba6f5 100644\n> --- a/test/v4l2_device/meson.build\n> +++ b/test/v4l2_device/meson.build\n> @@ -11,6 +11,7 @@ v4l2_device_tests = [\n>  \n>  foreach t : v4l2_device_tests\n>      exe = executable(t[0], [t[1], 'v4l2_device_test.cpp'],\n> +                     dependencies : libcamera_dep,\n>                       link_with : test_libraries,\n>                       include_directories : test_includes_internal)\n>      test(t[0], exe, suite : 'v4l2_device', is_parallel : false)\n> diff --git a/test/v4l2_subdevice/meson.build b/test/v4l2_subdevice/meson.build\n> index 282f6e234ec1..0521984b2a78 100644\n> --- a/test/v4l2_subdevice/meson.build\n> +++ b/test/v4l2_subdevice/meson.build\n> @@ -5,6 +5,7 @@ v4l2_subdevice_tests = [\n>  \n>  foreach t : v4l2_subdevice_tests\n>      exe = executable(t[0], [t[1], 'v4l2_subdevice_test.cpp'],\n> +        dependencies : libcamera_dep,\n>          link_with : test_libraries,\n>          include_directories : test_includes_internal)\n>      test(t[0], exe, suite : 'v4l2_subdevice', is_parallel : false)\n>","headers":{"Return-Path":"<kieran.bingham@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 0FF6660BBB\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 23 May 2019 12:07:25 +0200 (CEST)","from [192.168.0.20]\n\t(cpc89242-aztw30-2-0-cust488.18-1.cable.virginm.net [86.31.129.233])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 6E208334;\n\tThu, 23 May 2019 12:07:24 +0200 (CEST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1558606044;\n\tbh=qsEC2RQ1Q8smpvtu3xGvn0/ul1qj7R2Sq9a+uCKixw4=;\n\th=Reply-To:Subject:To:References:From:Date:In-Reply-To:From;\n\tb=Pn9BURgVcDi+Or9NOl6aoyVLZs8dktHH+w6RGhK3SVPuqFtcCfzQfVgDyYKlZN3Eu\n\t/4yK03WBIK9i9RUBbL9jsD3fRmZBd57FBDwn8dShRubMhnSFPfxTVYlqfAE34xNIAQ\n\tAWFHyFwdttPK2Mans+B71Vg1R3l1AbDO07OM2l0I=","Reply-To":"kieran.bingham@ideasonboard.com","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20190522212253.3307-1-laurent.pinchart@ideasonboard.com>\n\t<20190522212253.3307-2-laurent.pinchart@ideasonboard.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Openpgp":"preference=signencrypt","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tsbsRB8KNNvVXBOVNwko86rQqF9drZuw=","Organization":"Ideas on Board","Message-ID":"<c1cae26f-819e-f7d5-fad5-dd052448a1ca@ideasonboard.com>","Date":"Thu, 23 May 2019 11:07:22 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101\n\tThunderbird/60.6.1","MIME-Version":"1.0","In-Reply-To":"<20190522212253.3307-2-laurent.pinchart@ideasonboard.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-GB","Content-Transfer-Encoding":"8bit","Subject":"Re: [libcamera-devel] [PATCH v3 2/3] meson: Create and use a\n\tdependency for libcamera and its headers","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Thu, 23 May 2019 10:07:25 -0000"}},{"id":1679,"web_url":"https://patchwork.libcamera.org/comment/1679/","msgid":"<20190523104015.GJ4745@pendragon.ideasonboard.com>","date":"2019-05-23T10:40:15","subject":"Re: [libcamera-devel] [PATCH v3 2/3] meson: Create and use a\n\tdependency for libcamera and its headers","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Kieran,\n\nOn Thu, May 23, 2019 at 11:07:22AM +0100, Kieran Bingham wrote:\n> On 22/05/2019 22:22, Laurent Pinchart wrote:\n> > Instead of manually adding the libcamera library and include path to\n> > every target that requires it, declare a dependency that groups the\n> > headers as source, the library and the include path, and use it through\n> > the project. This simplifies handling of the dependency.\n> \n> Aha, this looks interesting!\n> \n> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > ---\n> >  src/cam/meson.build             | 5 ++---\n> >  src/libcamera/meson.build       | 4 ++++\n> >  src/qcam/meson.build            | 4 +---\n> >  test/camera/meson.build         | 1 +\n> >  test/ipa/meson.build            | 2 ++\n> >  test/libtest/meson.build        | 3 +--\n> >  test/media_device/meson.build   | 2 ++\n> >  test/meson.build                | 2 ++\n> >  test/pipeline/ipu3/meson.build  | 1 +\n> >  test/v4l2_device/meson.build    | 1 +\n> >  test/v4l2_subdevice/meson.build | 1 +\n> >  11 files changed, 18 insertions(+), 8 deletions(-)\n> > \n> > diff --git a/src/cam/meson.build b/src/cam/meson.build\n> > index 851295091d0d..3faddc6c8d85 100644\n> > --- a/src/cam/meson.build\n> > +++ b/src/cam/meson.build\n> > @@ -6,6 +6,5 @@ cam_sources = files([\n> >  ])\n> >  \n> >  cam  = executable('cam', cam_sources,\n> > -                  link_with : libcamera,\n> > -                  install : true,\n> > -                  include_directories : libcamera_includes)\n> > +                  dependencies : libcamera_dep,\n> > +                  install : true)\n> > diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n> > index 8294ed357154..0ebb25bcb821 100644\n> > --- a/src/libcamera/meson.build\n> > +++ b/src/libcamera/meson.build\n> > @@ -65,3 +65,7 @@ libcamera = shared_library('camera',\n> >                             install : true,\n> >                             include_directories : includes,\n> >                             dependencies : libudev)\n> > +\n> > +libcamera_dep = declare_dependency(sources : libcamera_api,\n> > +                                   include_directories : libcamera_includes,\n> > +                                   link_with : libcamera)\n> > diff --git a/src/qcam/meson.build b/src/qcam/meson.build\n> > index 56b57a266b29..9f1fa75f9813 100644\n> > --- a/src/qcam/meson.build\n> > +++ b/src/qcam/meson.build\n> > @@ -15,9 +15,7 @@ qt5_dep = dependency('qt5',\n> >  \n> >  if qt5_dep.found()\n> >      qcam  = executable('qcam', qcam_sources,\n> > -                       link_with : libcamera,\n> >                         install : true,\n> > -                       include_directories : libcamera_includes,\n> > -                       dependencies : qt5_dep,\n> > +                       dependencies : [libcamera_dep, qt5_dep],\n> >                         cpp_args : '-DQT_NO_KEYWORDS')\n> >  endif\n> > diff --git a/test/camera/meson.build b/test/camera/meson.build\n> > index b01e7e025de1..35e97ce5de1a 100644\n> > --- a/test/camera/meson.build\n> > +++ b/test/camera/meson.build\n> > @@ -9,6 +9,7 @@ camera_tests = [\n> >  \n> >  foreach t : camera_tests\n> >      exe = executable(t[0], [t[1], 'camera_test.cpp'],\n> > +                     dependencies : libcamera_dep,\n> >                       link_with : test_libraries,\n> >                       include_directories : test_includes_internal)\n> >      test(t[0], exe, suite : 'camera', is_parallel : false)\n> > diff --git a/test/ipa/meson.build b/test/ipa/meson.build\n> > index 53015e38381f..ecde313c6dc5 100644\n> > --- a/test/ipa/meson.build\n> > +++ b/test/ipa/meson.build\n> > @@ -5,6 +5,7 @@ ipa_modules_sources = [\n> >  \n> >  foreach m : ipa_modules_sources\n> >      shared_library(m, name_prefix : '',\n> > +                   dependencies : libcamera_dep,\n> >                     include_directories : test_includes_public)\n> >  endforeach\n> >  \n> > @@ -14,6 +15,7 @@ ipa_test = [\n> >  \n> >  foreach t : ipa_test\n> >      exe = executable(t[0], t[1],\n> > +                     dependencies : libcamera_dep,\n> >                       link_with : test_libraries,\n> \n> Should the 'test_libraries' be moved to some sort of dependency too ?\n\nThey could, yes. I think it should go on top of this series though.\n\n> Can test_libraries then depend on libcamera_dep to act in a dependency\n> chain?\n\nThey can depend on them, but I'm not sure it can act as a chain. From a\ndependency point of view, yes, but from a linking point of view if dep A\nincludes lib A and dep B depends on dep A, dep B will link agaisnt lib\nA, but meson may not mak an application depending on lib B link against\nlib A automatically. That's an expected behaviour I believe, and I think\nwe should thus still depend on libcamera_dep explicitly here.\n\n> >                       include_directories : test_includes_internal)\n> >  \n> > diff --git a/test/libtest/meson.build b/test/libtest/meson.build\n> > index e0893b70c3d4..112debbce30f 100644\n> > --- a/test/libtest/meson.build\n> > +++ b/test/libtest/meson.build\n> > @@ -6,11 +6,10 @@ libtest = static_library('libtest', libtest_sources)\n> \n> What about putting a dependency on libcamera in the libtest as you did\n> below for lib_mdev_test ?\n\nGood idea, I'll do that\n\n> >  libtest_includes = include_directories('.')\n> >  \n> > -test_libraries = [libcamera, libtest]\n> > +test_libraries = [libtest]\n> >  \n> >  test_includes_public = [\n> >      libtest_includes,\n> > -    libcamera_includes,\n> >  ]\n> >  \n> >  test_includes_internal = [\n> > diff --git a/test/media_device/meson.build b/test/media_device/meson.build\n> > index 124f454ec865..6a0e468434b5 100644\n> > --- a/test/media_device/meson.build\n> > +++ b/test/media_device/meson.build\n> > @@ -9,10 +9,12 @@ media_device_tests = [\n> >  ]\n> >  \n> >  lib_mdev_test = static_library('lib_mdev_test', lib_mdev_test_sources,\n> > +                               dependencies : libcamera_dep,\n> >                                 include_directories : test_includes_internal)\n> >  \n> >  foreach t : media_device_tests\n> >      exe = executable(t[0], t[1],\n> > +                     dependencies : libcamera_dep,\n> >                       link_with : [test_libraries, lib_mdev_test],\n> >                       include_directories : test_includes_internal)\n> >  \n> > diff --git a/test/meson.build b/test/meson.build\n> > index ef4136793f03..609aeab80e7d 100644\n> > --- a/test/meson.build\n> > +++ b/test/meson.build\n> > @@ -21,6 +21,7 @@ internal_tests = [\n> >  \n> >  foreach t : public_tests\n> >      exe = executable(t[0], t[1],\n> > +                     dependencies : libcamera_dep,\n> >                       link_with : test_libraries,\n> >                       include_directories : test_includes_public)\n> >  \n> > @@ -29,6 +30,7 @@ endforeach\n> >  \n> >  foreach t : internal_tests\n> >      exe = executable(t[0], t[1],\n> > +                     dependencies : libcamera_dep,\n> >                       link_with : test_libraries,\n> >                       include_directories : test_includes_internal)\n> >  \n> > diff --git a/test/pipeline/ipu3/meson.build b/test/pipeline/ipu3/meson.build\n> > index 87074588c651..d02927c9af86 100644\n> > --- a/test/pipeline/ipu3/meson.build\n> > +++ b/test/pipeline/ipu3/meson.build\n> > @@ -4,6 +4,7 @@ ipu3_test = [\n> >  \n> >  foreach t : ipu3_test\n> >      exe = executable(t[0], t[1],\n> > +                     dependencies : libcamera_dep,\n> >                       link_with : test_libraries,\n> >                       include_directories : test_includes_internal)\n> >  \n> > diff --git a/test/v4l2_device/meson.build b/test/v4l2_device/meson.build\n> > index 32556cf5ea18..de540b1ba6f5 100644\n> > --- a/test/v4l2_device/meson.build\n> > +++ b/test/v4l2_device/meson.build\n> > @@ -11,6 +11,7 @@ v4l2_device_tests = [\n> >  \n> >  foreach t : v4l2_device_tests\n> >      exe = executable(t[0], [t[1], 'v4l2_device_test.cpp'],\n> > +                     dependencies : libcamera_dep,\n> >                       link_with : test_libraries,\n> >                       include_directories : test_includes_internal)\n> >      test(t[0], exe, suite : 'v4l2_device', is_parallel : false)\n> > diff --git a/test/v4l2_subdevice/meson.build b/test/v4l2_subdevice/meson.build\n> > index 282f6e234ec1..0521984b2a78 100644\n> > --- a/test/v4l2_subdevice/meson.build\n> > +++ b/test/v4l2_subdevice/meson.build\n> > @@ -5,6 +5,7 @@ v4l2_subdevice_tests = [\n> >  \n> >  foreach t : v4l2_subdevice_tests\n> >      exe = executable(t[0], [t[1], 'v4l2_subdevice_test.cpp'],\n> > +        dependencies : libcamera_dep,\n> >          link_with : test_libraries,\n> >          include_directories : test_includes_internal)\n> >      test(t[0], exe, suite : 'v4l2_subdevice', is_parallel : false)","headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 050C360BBB\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 23 May 2019 12:40:34 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(dfj612yhrgyx302h3jwwy-3.rev.dnainternet.fi\n\t[IPv6:2001:14ba:21f5:5b00:ce28:277f:58d7:3ca4])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 61FB1583;\n\tThu, 23 May 2019 12:40:33 +0200 (CEST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1558608033;\n\tbh=2yQIyOnJNcdCI2S/4QgX4kAWHVPp7OQt9dIiW4AVnIw=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=BGmn0PW1EMz2sGdnJyDJMlw5eQ/zSMWbPs2s5001Z/aCJ9Vu4Ame0I9bdLsiZbZLs\n\tcyY7B8hLWYrJ+n7XI/f3SWkfoIxn3/T4ecq5Wn6993p7t0YOHXVFmjbhWAX/sT4WH7\n\tWn8kADM4xfVprdzjG3UODnFO7HaDDpfx9GpKL8Zg=","Date":"Thu, 23 May 2019 13:40:15 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Message-ID":"<20190523104015.GJ4745@pendragon.ideasonboard.com>","References":"<20190522212253.3307-1-laurent.pinchart@ideasonboard.com>\n\t<20190522212253.3307-2-laurent.pinchart@ideasonboard.com>\n\t<c1cae26f-819e-f7d5-fad5-dd052448a1ca@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<c1cae26f-819e-f7d5-fad5-dd052448a1ca@ideasonboard.com>","User-Agent":"Mutt/1.10.1 (2018-07-13)","Subject":"Re: [libcamera-devel] [PATCH v3 2/3] meson: Create and use a\n\tdependency for libcamera and its headers","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Thu, 23 May 2019 10:40:34 -0000"}},{"id":1682,"web_url":"https://patchwork.libcamera.org/comment/1682/","msgid":"<7822cf34-ef6d-838e-8d64-ea6b211ea820@ideasonboard.com>","date":"2019-05-23T10:44:38","subject":"Re: [libcamera-devel] [PATCH v3 2/3] meson: Create and use a\n\tdependency for libcamera and its headers","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Laurent,\n\nOn 23/05/2019 11:40, Laurent Pinchart wrote:\n> Hi Kieran,\n> \n> On Thu, May 23, 2019 at 11:07:22AM +0100, Kieran Bingham wrote:\n>> On 22/05/2019 22:22, Laurent Pinchart wrote:\n>>> Instead of manually adding the libcamera library and include path to\n>>> every target that requires it, declare a dependency that groups the\n>>> headers as source, the library and the include path, and use it through\n>>> the project. This simplifies handling of the dependency.\n>>\n>> Aha, this looks interesting!\n>>\n>>> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n>>> ---\n>>>  src/cam/meson.build             | 5 ++---\n>>>  src/libcamera/meson.build       | 4 ++++\n>>>  src/qcam/meson.build            | 4 +---\n>>>  test/camera/meson.build         | 1 +\n>>>  test/ipa/meson.build            | 2 ++\n>>>  test/libtest/meson.build        | 3 +--\n>>>  test/media_device/meson.build   | 2 ++\n>>>  test/meson.build                | 2 ++\n>>>  test/pipeline/ipu3/meson.build  | 1 +\n>>>  test/v4l2_device/meson.build    | 1 +\n>>>  test/v4l2_subdevice/meson.build | 1 +\n>>>  11 files changed, 18 insertions(+), 8 deletions(-)\n>>>\n>>> diff --git a/src/cam/meson.build b/src/cam/meson.build\n>>> index 851295091d0d..3faddc6c8d85 100644\n>>> --- a/src/cam/meson.build\n>>> +++ b/src/cam/meson.build\n>>> @@ -6,6 +6,5 @@ cam_sources = files([\n>>>  ])\n>>>  \n>>>  cam  = executable('cam', cam_sources,\n>>> -                  link_with : libcamera,\n>>> -                  install : true,\n>>> -                  include_directories : libcamera_includes)\n>>> +                  dependencies : libcamera_dep,\n>>> +                  install : true)\n>>> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n>>> index 8294ed357154..0ebb25bcb821 100644\n>>> --- a/src/libcamera/meson.build\n>>> +++ b/src/libcamera/meson.build\n>>> @@ -65,3 +65,7 @@ libcamera = shared_library('camera',\n>>>                             install : true,\n>>>                             include_directories : includes,\n>>>                             dependencies : libudev)\n>>> +\n>>> +libcamera_dep = declare_dependency(sources : libcamera_api,\n>>> +                                   include_directories : libcamera_includes,\n>>> +                                   link_with : libcamera)\n>>> diff --git a/src/qcam/meson.build b/src/qcam/meson.build\n>>> index 56b57a266b29..9f1fa75f9813 100644\n>>> --- a/src/qcam/meson.build\n>>> +++ b/src/qcam/meson.build\n>>> @@ -15,9 +15,7 @@ qt5_dep = dependency('qt5',\n>>>  \n>>>  if qt5_dep.found()\n>>>      qcam  = executable('qcam', qcam_sources,\n>>> -                       link_with : libcamera,\n>>>                         install : true,\n>>> -                       include_directories : libcamera_includes,\n>>> -                       dependencies : qt5_dep,\n>>> +                       dependencies : [libcamera_dep, qt5_dep],\n>>>                         cpp_args : '-DQT_NO_KEYWORDS')\n>>>  endif\n>>> diff --git a/test/camera/meson.build b/test/camera/meson.build\n>>> index b01e7e025de1..35e97ce5de1a 100644\n>>> --- a/test/camera/meson.build\n>>> +++ b/test/camera/meson.build\n>>> @@ -9,6 +9,7 @@ camera_tests = [\n>>>  \n>>>  foreach t : camera_tests\n>>>      exe = executable(t[0], [t[1], 'camera_test.cpp'],\n>>> +                     dependencies : libcamera_dep,\n>>>                       link_with : test_libraries,\n>>>                       include_directories : test_includes_internal)\n>>>      test(t[0], exe, suite : 'camera', is_parallel : false)\n>>> diff --git a/test/ipa/meson.build b/test/ipa/meson.build\n>>> index 53015e38381f..ecde313c6dc5 100644\n>>> --- a/test/ipa/meson.build\n>>> +++ b/test/ipa/meson.build\n>>> @@ -5,6 +5,7 @@ ipa_modules_sources = [\n>>>  \n>>>  foreach m : ipa_modules_sources\n>>>      shared_library(m, name_prefix : '',\n>>> +                   dependencies : libcamera_dep,\n>>>                     include_directories : test_includes_public)\n>>>  endforeach\n>>>  \n>>> @@ -14,6 +15,7 @@ ipa_test = [\n>>>  \n>>>  foreach t : ipa_test\n>>>      exe = executable(t[0], t[1],\n>>> +                     dependencies : libcamera_dep,\n>>>                       link_with : test_libraries,\n>>\n>> Should the 'test_libraries' be moved to some sort of dependency too ?\n> \n> They could, yes. I think it should go on top of this series though.\n> \n>> Can test_libraries then depend on libcamera_dep to act in a dependency\n>> chain?\n> \n> They can depend on them, but I'm not sure it can act as a chain. From a\n> dependency point of view, yes, but from a linking point of view if dep A\n> includes lib A and dep B depends on dep A, dep B will link agaisnt lib\n> A, but meson may not mak an application depending on lib B link against\n> lib A automatically. That's an expected behaviour I believe, and I think\n> we should thus still depend on libcamera_dep explicitly here.\n\nOk that's fine.\n\n\n> \n>>>                       include_directories : test_includes_internal)\n>>>  \n>>> diff --git a/test/libtest/meson.build b/test/libtest/meson.build\n>>> index e0893b70c3d4..112debbce30f 100644\n>>> --- a/test/libtest/meson.build\n>>> +++ b/test/libtest/meson.build\n>>> @@ -6,11 +6,10 @@ libtest = static_library('libtest', libtest_sources)\n>>\n>> What about putting a dependency on libcamera in the libtest as you did\n>> below for lib_mdev_test ?\n> \n> Good idea, I'll do that\n\nOk - well with that and the above clarified,\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> \n>>>  libtest_includes = include_directories('.')\n>>>  \n>>> -test_libraries = [libcamera, libtest]\n>>> +test_libraries = [libtest]\n>>>  \n>>>  test_includes_public = [\n>>>      libtest_includes,\n>>> -    libcamera_includes,\n>>>  ]\n>>>  \n>>>  test_includes_internal = [\n>>> diff --git a/test/media_device/meson.build b/test/media_device/meson.build\n>>> index 124f454ec865..6a0e468434b5 100644\n>>> --- a/test/media_device/meson.build\n>>> +++ b/test/media_device/meson.build\n>>> @@ -9,10 +9,12 @@ media_device_tests = [\n>>>  ]\n>>>  \n>>>  lib_mdev_test = static_library('lib_mdev_test', lib_mdev_test_sources,\n>>> +                               dependencies : libcamera_dep,\n>>>                                 include_directories : test_includes_internal)\n>>>  \n>>>  foreach t : media_device_tests\n>>>      exe = executable(t[0], t[1],\n>>> +                     dependencies : libcamera_dep,\n>>>                       link_with : [test_libraries, lib_mdev_test],\n>>>                       include_directories : test_includes_internal)\n>>>  \n>>> diff --git a/test/meson.build b/test/meson.build\n>>> index ef4136793f03..609aeab80e7d 100644\n>>> --- a/test/meson.build\n>>> +++ b/test/meson.build\n>>> @@ -21,6 +21,7 @@ internal_tests = [\n>>>  \n>>>  foreach t : public_tests\n>>>      exe = executable(t[0], t[1],\n>>> +                     dependencies : libcamera_dep,\n>>>                       link_with : test_libraries,\n>>>                       include_directories : test_includes_public)\n>>>  \n>>> @@ -29,6 +30,7 @@ endforeach\n>>>  \n>>>  foreach t : internal_tests\n>>>      exe = executable(t[0], t[1],\n>>> +                     dependencies : libcamera_dep,\n>>>                       link_with : test_libraries,\n>>>                       include_directories : test_includes_internal)\n>>>  \n>>> diff --git a/test/pipeline/ipu3/meson.build b/test/pipeline/ipu3/meson.build\n>>> index 87074588c651..d02927c9af86 100644\n>>> --- a/test/pipeline/ipu3/meson.build\n>>> +++ b/test/pipeline/ipu3/meson.build\n>>> @@ -4,6 +4,7 @@ ipu3_test = [\n>>>  \n>>>  foreach t : ipu3_test\n>>>      exe = executable(t[0], t[1],\n>>> +                     dependencies : libcamera_dep,\n>>>                       link_with : test_libraries,\n>>>                       include_directories : test_includes_internal)\n>>>  \n>>> diff --git a/test/v4l2_device/meson.build b/test/v4l2_device/meson.build\n>>> index 32556cf5ea18..de540b1ba6f5 100644\n>>> --- a/test/v4l2_device/meson.build\n>>> +++ b/test/v4l2_device/meson.build\n>>> @@ -11,6 +11,7 @@ v4l2_device_tests = [\n>>>  \n>>>  foreach t : v4l2_device_tests\n>>>      exe = executable(t[0], [t[1], 'v4l2_device_test.cpp'],\n>>> +                     dependencies : libcamera_dep,\n>>>                       link_with : test_libraries,\n>>>                       include_directories : test_includes_internal)\n>>>      test(t[0], exe, suite : 'v4l2_device', is_parallel : false)\n>>> diff --git a/test/v4l2_subdevice/meson.build b/test/v4l2_subdevice/meson.build\n>>> index 282f6e234ec1..0521984b2a78 100644\n>>> --- a/test/v4l2_subdevice/meson.build\n>>> +++ b/test/v4l2_subdevice/meson.build\n>>> @@ -5,6 +5,7 @@ v4l2_subdevice_tests = [\n>>>  \n>>>  foreach t : v4l2_subdevice_tests\n>>>      exe = executable(t[0], [t[1], 'v4l2_subdevice_test.cpp'],\n>>> +        dependencies : libcamera_dep,\n>>>          link_with : test_libraries,\n>>>          include_directories : test_includes_internal)\n>>>      test(t[0], exe, suite : 'v4l2_subdevice', is_parallel : false)\n>","headers":{"Return-Path":"<kieran.bingham@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D305A60BBB\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 23 May 2019 12:44:40 +0200 (CEST)","from [192.168.0.20]\n\t(cpc89242-aztw30-2-0-cust488.18-1.cable.virginm.net [86.31.129.233])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 53DBD583;\n\tThu, 23 May 2019 12:44:40 +0200 (CEST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1558608280;\n\tbh=aGE46nI2axxWOdJD+8TWrhOytZb1osfo3YWkT20v3DY=;\n\th=Reply-To:Subject:To:Cc:References:From:Date:In-Reply-To:From;\n\tb=UxOk0EZ2oxA8d+BGUPSe8a6sOQdFZpvAOEOfLpSTt1Ejkc7Zk5q33BPHSd6VWdVE1\n\tOOeJ4cGE62kPx408MZRFX710JUi2VP5ID3DoGeRan6ZhCQ2G78/zuiZb7MUZlpd2pf\n\tYjZlrbUph1HqUVc1cuo48w49UM9Ho6BsdG2a9UJM=","Reply-To":"kieran.bingham@ideasonboard.com","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","References":"<20190522212253.3307-1-laurent.pinchart@ideasonboard.com>\n\t<20190522212253.3307-2-laurent.pinchart@ideasonboard.com>\n\t<c1cae26f-819e-f7d5-fad5-dd052448a1ca@ideasonboard.com>\n\t<20190523104015.GJ4745@pendragon.ideasonboard.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Openpgp":"preference=signencrypt","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tsbsRB8KNNvVXBOVNwko86rQqF9drZuw=","Organization":"Ideas on Board","Message-ID":"<7822cf34-ef6d-838e-8d64-ea6b211ea820@ideasonboard.com>","Date":"Thu, 23 May 2019 11:44:38 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101\n\tThunderbird/60.6.1","MIME-Version":"1.0","In-Reply-To":"<20190523104015.GJ4745@pendragon.ideasonboard.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-GB","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH v3 2/3] meson: Create and use a\n\tdependency for libcamera and its headers","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Thu, 23 May 2019 10:44:41 -0000"}}]