From patchwork Wed May 22 21:22:52 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 1262 Return-Path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 4666D60C02 for ; Wed, 22 May 2019 23:23:14 +0200 (CEST) Received: from pendragon.bb.dnainternet.fi (dfj612yhrgyx302h3jwwy-3.rev.dnainternet.fi [IPv6:2001:14ba:21f5:5b00:ce28:277f:58d7:3ca4]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id CA38C52F for ; Wed, 22 May 2019 23:23:13 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1558560193; bh=M7l+NtP5cj+r6ermizYqosD56G+EGr7MonwkYHOvruw=; h=From:To:Subject:Date:In-Reply-To:References:From; b=T3ulzSxxaoMygO3EeR7iDxFmvx//cSFqaja3YxJ8yE6V6ngnNkwavAw+7hN9b1+yK JwQ9wXfqcdgLukBSZkn8Zar1FLLh/SCVwMpg67bhZ63C/gY8UIrE3HUMoHI9bGSl6u 5htq3/At1PABdSAWZV9GhCrCnbpNPpdJG9nNx71w= From: Laurent Pinchart To: libcamera-devel@lists.libcamera.org Date: Thu, 23 May 2019 00:22:52 +0300 Message-Id: <20190522212253.3307-2-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190522212253.3307-1-laurent.pinchart@ideasonboard.com> References: <20190522212253.3307-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v3 2/3] meson: Create and use a dependency for libcamera and its headers X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 May 2019 21:23:14 -0000 Instead of manually adding the libcamera library and include path to every target that requires it, declare a dependency that groups the headers as source, the library and the include path, and use it through the project. This simplifies handling of the dependency. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham --- src/cam/meson.build | 5 ++--- src/libcamera/meson.build | 4 ++++ src/qcam/meson.build | 4 +--- test/camera/meson.build | 1 + test/ipa/meson.build | 2 ++ test/libtest/meson.build | 3 +-- test/media_device/meson.build | 2 ++ test/meson.build | 2 ++ test/pipeline/ipu3/meson.build | 1 + test/v4l2_device/meson.build | 1 + test/v4l2_subdevice/meson.build | 1 + 11 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/cam/meson.build b/src/cam/meson.build index 851295091d0d..3faddc6c8d85 100644 --- a/src/cam/meson.build +++ b/src/cam/meson.build @@ -6,6 +6,5 @@ cam_sources = files([ ]) cam = executable('cam', cam_sources, - link_with : libcamera, - install : true, - include_directories : libcamera_includes) + dependencies : libcamera_dep, + install : true) diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build index 8294ed357154..0ebb25bcb821 100644 --- a/src/libcamera/meson.build +++ b/src/libcamera/meson.build @@ -65,3 +65,7 @@ libcamera = shared_library('camera', install : true, include_directories : includes, dependencies : libudev) + +libcamera_dep = declare_dependency(sources : libcamera_api, + include_directories : libcamera_includes, + link_with : libcamera) diff --git a/src/qcam/meson.build b/src/qcam/meson.build index 56b57a266b29..9f1fa75f9813 100644 --- a/src/qcam/meson.build +++ b/src/qcam/meson.build @@ -15,9 +15,7 @@ qt5_dep = dependency('qt5', if qt5_dep.found() qcam = executable('qcam', qcam_sources, - link_with : libcamera, install : true, - include_directories : libcamera_includes, - dependencies : qt5_dep, + dependencies : [libcamera_dep, qt5_dep], cpp_args : '-DQT_NO_KEYWORDS') endif diff --git a/test/camera/meson.build b/test/camera/meson.build index b01e7e025de1..35e97ce5de1a 100644 --- a/test/camera/meson.build +++ b/test/camera/meson.build @@ -9,6 +9,7 @@ camera_tests = [ foreach t : camera_tests exe = executable(t[0], [t[1], 'camera_test.cpp'], + dependencies : libcamera_dep, link_with : test_libraries, include_directories : test_includes_internal) test(t[0], exe, suite : 'camera', is_parallel : false) diff --git a/test/ipa/meson.build b/test/ipa/meson.build index 53015e38381f..ecde313c6dc5 100644 --- a/test/ipa/meson.build +++ b/test/ipa/meson.build @@ -5,6 +5,7 @@ ipa_modules_sources = [ foreach m : ipa_modules_sources shared_library(m, name_prefix : '', + dependencies : libcamera_dep, include_directories : test_includes_public) endforeach @@ -14,6 +15,7 @@ ipa_test = [ foreach t : ipa_test exe = executable(t[0], t[1], + dependencies : libcamera_dep, link_with : test_libraries, include_directories : test_includes_internal) diff --git a/test/libtest/meson.build b/test/libtest/meson.build index e0893b70c3d4..112debbce30f 100644 --- a/test/libtest/meson.build +++ b/test/libtest/meson.build @@ -6,11 +6,10 @@ libtest = static_library('libtest', libtest_sources) libtest_includes = include_directories('.') -test_libraries = [libcamera, libtest] +test_libraries = [libtest] test_includes_public = [ libtest_includes, - libcamera_includes, ] test_includes_internal = [ diff --git a/test/media_device/meson.build b/test/media_device/meson.build index 124f454ec865..6a0e468434b5 100644 --- a/test/media_device/meson.build +++ b/test/media_device/meson.build @@ -9,10 +9,12 @@ media_device_tests = [ ] lib_mdev_test = static_library('lib_mdev_test', lib_mdev_test_sources, + dependencies : libcamera_dep, include_directories : test_includes_internal) foreach t : media_device_tests exe = executable(t[0], t[1], + dependencies : libcamera_dep, link_with : [test_libraries, lib_mdev_test], include_directories : test_includes_internal) diff --git a/test/meson.build b/test/meson.build index ef4136793f03..609aeab80e7d 100644 --- a/test/meson.build +++ b/test/meson.build @@ -21,6 +21,7 @@ internal_tests = [ foreach t : public_tests exe = executable(t[0], t[1], + dependencies : libcamera_dep, link_with : test_libraries, include_directories : test_includes_public) @@ -29,6 +30,7 @@ endforeach foreach t : internal_tests exe = executable(t[0], t[1], + dependencies : libcamera_dep, link_with : test_libraries, include_directories : test_includes_internal) diff --git a/test/pipeline/ipu3/meson.build b/test/pipeline/ipu3/meson.build index 87074588c651..d02927c9af86 100644 --- a/test/pipeline/ipu3/meson.build +++ b/test/pipeline/ipu3/meson.build @@ -4,6 +4,7 @@ ipu3_test = [ foreach t : ipu3_test exe = executable(t[0], t[1], + dependencies : libcamera_dep, link_with : test_libraries, include_directories : test_includes_internal) diff --git a/test/v4l2_device/meson.build b/test/v4l2_device/meson.build index 32556cf5ea18..de540b1ba6f5 100644 --- a/test/v4l2_device/meson.build +++ b/test/v4l2_device/meson.build @@ -11,6 +11,7 @@ v4l2_device_tests = [ foreach t : v4l2_device_tests exe = executable(t[0], [t[1], 'v4l2_device_test.cpp'], + dependencies : libcamera_dep, link_with : test_libraries, include_directories : test_includes_internal) test(t[0], exe, suite : 'v4l2_device', is_parallel : false) diff --git a/test/v4l2_subdevice/meson.build b/test/v4l2_subdevice/meson.build index 282f6e234ec1..0521984b2a78 100644 --- a/test/v4l2_subdevice/meson.build +++ b/test/v4l2_subdevice/meson.build @@ -5,6 +5,7 @@ v4l2_subdevice_tests = [ foreach t : v4l2_subdevice_tests exe = executable(t[0], [t[1], 'v4l2_subdevice_test.cpp'], + dependencies : libcamera_dep, link_with : test_libraries, include_directories : test_includes_internal) test(t[0], exe, suite : 'v4l2_subdevice', is_parallel : false)