summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2023-12-06 02:22:54 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2023-12-07 01:43:17 +0200
commit9ba0c3fef81dd952dcc3913f82a98b961a81d643 (patch)
treebab08c40e62cbae21810dfcb7bb901316f4caf1e
parentb06ebdedba52a31e8ba21ae293dfb6476b6ca117 (diff)
meson: Tag all installed files
Meson uses tags to sort installed files in categories, and makes it possible to install a subset of the files using the '--tags' argument to 'meson install'. This is typically used by distributions to split the runtime, development and documentation files into separate packages. By default, meson tries to guess the correct tag for installed files, but can't always do so properly. Mark the install targets that meson can't guess with the correct install_tag. As the feature has been introduced in meson 0.60, bump the minimum meson version. The latest LTS release of all major distributions that libcamera currently targets ship a recent enough meson version. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
-rw-r--r--Documentation/meson.build6
-rw-r--r--README.rst2
-rw-r--r--meson.build2
-rw-r--r--src/apps/cam/meson.build3
-rw-r--r--src/apps/lc-compliance/meson.build3
-rw-r--r--src/apps/qcam/meson.build1
-rw-r--r--src/ipa/ipu3/data/meson.build3
-rw-r--r--src/ipa/meson.build3
-rw-r--r--src/ipa/rkisp1/data/meson.build3
-rw-r--r--src/ipa/rpi/vc4/data/meson.build3
-rw-r--r--src/ipa/vimc/data/meson.build3
-rw-r--r--src/libcamera/pipeline/rpi/vc4/data/meson.build3
-rw-r--r--src/py/libcamera/meson.build5
-rw-r--r--src/v4l2/meson.build3
14 files changed, 29 insertions, 14 deletions
diff --git a/Documentation/meson.build b/Documentation/meson.build
index 3eb2897e..7a58fec8 100644
--- a/Documentation/meson.build
+++ b/Documentation/meson.build
@@ -49,7 +49,8 @@ if doxygen.found() and dot.found()
output : 'api-html',
command : [doxygen, doxyfile],
install : true,
- install_dir : doc_install_dir)
+ install_dir : doc_install_dir,
+ install_tag : 'doc')
endif
#
@@ -91,7 +92,8 @@ if sphinx.found()
output : 'html',
build_by_default : true,
install : true,
- install_dir : doc_install_dir)
+ install_dir : doc_install_dir,
+ install_tag : 'doc')
custom_target('documentation-linkcheck',
command : [sphinx, '-W', '-b', 'linkcheck', meson.current_source_dir(), '@OUTPUT@'],
diff --git a/README.rst b/README.rst
index 4cb99637..4db454de 100644
--- a/README.rst
+++ b/README.rst
@@ -47,7 +47,7 @@ A C++ toolchain: [required]
Either {g++, clang}
Meson Build system: [required]
- meson (>= 0.57) ninja-build pkg-config
+ meson (>= 0.60) ninja-build pkg-config
for the libcamera core: [required]
libyaml-dev python3-yaml python3-ply python3-jinja2
diff --git a/meson.build b/meson.build
index ee57cb78..e49de4c2 100644
--- a/meson.build
+++ b/meson.build
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: CC0-1.0
project('libcamera', 'c', 'cpp',
- meson_version : '>= 0.57',
+ meson_version : '>= 0.60',
version : '0.1.0',
default_options : [
'werror=true',
diff --git a/src/apps/cam/meson.build b/src/apps/cam/meson.build
index 48c834ac..c70ca3cd 100644
--- a/src/apps/cam/meson.build
+++ b/src/apps/cam/meson.build
@@ -58,4 +58,5 @@ cam = executable('cam', cam_sources,
libyaml,
],
cpp_args : cam_cpp_args,
- install : true)
+ install : true,
+ install_tag : 'bin')
diff --git a/src/apps/lc-compliance/meson.build b/src/apps/lc-compliance/meson.build
index 51d9075a..dd7b73ab 100644
--- a/src/apps/lc-compliance/meson.build
+++ b/src/apps/lc-compliance/meson.build
@@ -26,4 +26,5 @@ lc_compliance = executable('lc-compliance', lc_compliance_sources,
libevent,
libgtest,
],
- install : true)
+ install : true,
+ install_tag : 'bin-devel')
diff --git a/src/apps/qcam/meson.build b/src/apps/qcam/meson.build
index 2e77146c..6cf4c171 100644
--- a/src/apps/qcam/meson.build
+++ b/src/apps/qcam/meson.build
@@ -63,6 +63,7 @@ resources = qt5.preprocess(moc_headers : qcam_moc_headers,
qcam = executable('qcam', qcam_sources, resources,
install : true,
+ install_tag : 'bin',
link_with : apps_lib,
dependencies : [
libatomic,
diff --git a/src/ipa/ipu3/data/meson.build b/src/ipa/ipu3/data/meson.build
index 1f50b630..0f7cd5c6 100644
--- a/src/ipa/ipu3/data/meson.build
+++ b/src/ipa/ipu3/data/meson.build
@@ -5,4 +5,5 @@ conf_files = files([
])
install_data(conf_files,
- install_dir : ipa_data_dir / 'ipu3')
+ install_dir : ipa_data_dir / 'ipu3',
+ install_tag : 'runtime')
diff --git a/src/ipa/meson.build b/src/ipa/meson.build
index 903eb52b..48793e07 100644
--- a/src/ipa/meson.build
+++ b/src/ipa/meson.build
@@ -72,5 +72,6 @@ if ipa_sign_module
# install time, which invalidates the signatures.
meson.add_install_script('ipa-sign-install.sh',
ipa_priv_key.full_path(),
- enabled_ipa_modules)
+ enabled_ipa_modules,
+ install_tag : 'runtime')
endif
diff --git a/src/ipa/rkisp1/data/meson.build b/src/ipa/rkisp1/data/meson.build
index f5e9fa75..7150e155 100644
--- a/src/ipa/rkisp1/data/meson.build
+++ b/src/ipa/rkisp1/data/meson.build
@@ -8,4 +8,5 @@ conf_files = files([
])
install_data(conf_files,
- install_dir : ipa_data_dir / 'rkisp1')
+ install_dir : ipa_data_dir / 'rkisp1',
+ install_tag : 'runtime')
diff --git a/src/ipa/rpi/vc4/data/meson.build b/src/ipa/rpi/vc4/data/meson.build
index bcf5658b..b4e45ad8 100644
--- a/src/ipa/rpi/vc4/data/meson.build
+++ b/src/ipa/rpi/vc4/data/meson.build
@@ -23,4 +23,5 @@ conf_files = files([
])
install_data(conf_files,
- install_dir : ipa_data_dir / 'rpi' / 'vc4')
+ install_dir : ipa_data_dir / 'rpi' / 'vc4',
+ install_tag : 'runtime')
diff --git a/src/ipa/vimc/data/meson.build b/src/ipa/vimc/data/meson.build
index 42ec651c..628d6a29 100644
--- a/src/ipa/vimc/data/meson.build
+++ b/src/ipa/vimc/data/meson.build
@@ -5,4 +5,5 @@ conf_files = files([
])
install_data(conf_files,
- install_dir : ipa_data_dir / 'vimc')
+ install_dir : ipa_data_dir / 'vimc',
+ install_tag : 'runtime')
diff --git a/src/libcamera/pipeline/rpi/vc4/data/meson.build b/src/libcamera/pipeline/rpi/vc4/data/meson.build
index cca5e388..179feebc 100644
--- a/src/libcamera/pipeline/rpi/vc4/data/meson.build
+++ b/src/libcamera/pipeline/rpi/vc4/data/meson.build
@@ -5,4 +5,5 @@ conf_files = files([
])
install_data(conf_files,
- install_dir : pipeline_data_dir / 'rpi' / 'vc4')
+ install_dir : pipeline_data_dir / 'rpi' / 'vc4',
+ install_tag : 'runtime')
diff --git a/src/py/libcamera/meson.build b/src/py/libcamera/meson.build
index 31af63ec..4807ca7d 100644
--- a/src/py/libcamera/meson.build
+++ b/src/py/libcamera/meson.build
@@ -90,6 +90,7 @@ pycamera = shared_module('_libcamera',
pycamera_sources,
install : true,
install_dir : destdir,
+ install_tag : 'python-runtime',
name_prefix : '',
dependencies : pycamera_deps,
cpp_args : pycamera_args)
@@ -105,7 +106,9 @@ run_command('ln', '-fsrT', meson.current_source_dir() / 'utils',
meson.current_build_dir() / 'utils',
check : true)
-install_data(['__init__.py'], install_dir : destdir)
+install_data(['__init__.py'],
+ install_dir : destdir,
+ install_tag : 'python-runtime')
# \todo Generate stubs when building. See https://peps.python.org/pep-0484/#stub-files
# Note: Depends on pybind11-stubgen. To generate pylibcamera stubs:
diff --git a/src/v4l2/meson.build b/src/v4l2/meson.build
index ab4b35dd..e88e0b33 100644
--- a/src/v4l2/meson.build
+++ b/src/v4l2/meson.build
@@ -44,4 +44,5 @@ cdata.set('LIBCAMERA_V4L2_SO', get_option('prefix') / libcamera_libexecdir / 'v4
configure_file(input : 'libcamerify.in',
output : 'libcamerify',
configuration : cdata,
- install_dir : get_option('bindir'))
+ install_dir : get_option('bindir'),
+ install_tag : 'bin')