libcamera: Fix base and ipa include dir
All libcamera headers are meant to be installed in
${prefix}/include/libcamera/libcamera, with pkgconfig specifying the
include directory as `-I ${prefix}/include/libcamera`. Applications then
include the headers with `#include <libcamera/camera.h>`.
The base and ipa headers are meant to be installed in subdirectories of
the libcamera headers directory, but are mistakenly installed one level
too high, in ${prefix}/include/libcamera. This leads to compilation
failures when including the base or ipa header.
Fix this by setting the meson libcamera_include_dir variable to the
libcamera headers directory. All other header paths are derived from
that variable and are now correct.
Reported-by: Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>
Bug: https://bugs.libcamera.org/show_bug.cgi?id=79
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
libcamera_include_dir = 'libcamera' / 'libcamera'
|
||||
|
||||
libcamera_public_headers = files([
|
||||
'camera.h',
|
||||
'camera_manager.h',
|
||||
@@ -16,14 +18,12 @@ libcamera_public_headers = files([
|
||||
'transform.h',
|
||||
])
|
||||
|
||||
include_dir = libcamera_include_dir / 'libcamera'
|
||||
|
||||
subdir('base')
|
||||
subdir('internal')
|
||||
subdir('ipa')
|
||||
|
||||
install_headers(libcamera_public_headers,
|
||||
subdir : include_dir)
|
||||
subdir : libcamera_include_dir)
|
||||
|
||||
#
|
||||
# Generate headers from templates.
|
||||
@@ -44,7 +44,7 @@ foreach header : control_source_files
|
||||
output : header + '.h',
|
||||
command : [gen_controls, '-o', '@OUTPUT@', '@INPUT@'],
|
||||
install : true,
|
||||
install_dir : get_option('includedir') / include_dir)
|
||||
install_dir : get_option('includedir') / libcamera_include_dir)
|
||||
endforeach
|
||||
|
||||
libcamera_public_headers += control_headers
|
||||
@@ -59,7 +59,7 @@ formats_h = custom_target('formats_h',
|
||||
output : 'formats.h',
|
||||
command : [gen_formats, '-o', '@OUTPUT@', '@INPUT@'],
|
||||
install : true,
|
||||
install_dir : get_option('includedir') / include_dir)
|
||||
install_dir : get_option('includedir') / libcamera_include_dir)
|
||||
libcamera_public_headers += formats_h
|
||||
|
||||
# libcamera.h
|
||||
@@ -68,7 +68,7 @@ libcamera_h = custom_target('gen-header',
|
||||
output : 'libcamera.h',
|
||||
command : [gen_header, meson.current_source_dir(), '@OUTPUT@'],
|
||||
install : true,
|
||||
install_dir : get_option('includedir') / include_dir)
|
||||
install_dir : get_option('includedir') / libcamera_include_dir)
|
||||
|
||||
libcamera_public_headers += libcamera_h
|
||||
|
||||
@@ -82,4 +82,4 @@ libcamera_version_config.set('LIBCAMERA_VERSION_PATCH', version[2])
|
||||
configure_file(input : 'version.h.in',
|
||||
output : 'version.h',
|
||||
configuration : libcamera_version_config,
|
||||
install_dir : get_option('includedir') / include_dir)
|
||||
install_dir : get_option('includedir') / libcamera_include_dir)
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
libcamera_include_dir = 'libcamera'
|
||||
|
||||
subdir('android')
|
||||
subdir('libcamera')
|
||||
|
||||
Reference in New Issue
Block a user