libcamera/test/meson.build
Kieran Bingham fc9b226d19 test: Ensure LIBCAMERA_BASE_PRIVATE isn't public
If LIBCAMERA_BASE_PRIVATE is ever exposed on the libcamera public dependencies,
then the private.h header protection will be circumvented.

Provide a test which will fail (at compile time) if the LIBCAMERA_BASE_PRIVATE
define ever leaks to the public dependencies.

Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2021-06-25 16:11:11 +01:00

73 lines
2.4 KiB
Meson

# SPDX-License-Identifier: CC0-1.0
if not get_option('test')
test_enabled = false
subdir_done()
endif
test_enabled = true
subdir('libtest')
subdir('camera')
subdir('controls')
subdir('ipa')
subdir('ipc')
subdir('log')
subdir('media_device')
subdir('pipeline')
subdir('process')
subdir('serialization')
subdir('stream')
subdir('v4l2_compat')
subdir('v4l2_subdevice')
subdir('v4l2_videodevice')
public_tests = [
['geometry', 'geometry.cpp'],
['public-api', 'public-api.cpp'],
['signal', 'signal.cpp'],
['span', 'span.cpp'],
]
internal_tests = [
['bayer-format', 'bayer-format.cpp'],
['byte-stream-buffer', 'byte-stream-buffer.cpp'],
['camera-sensor', 'camera-sensor.cpp'],
['delayed_controls', 'delayed_controls.cpp'],
['event', 'event.cpp'],
['event-dispatcher', 'event-dispatcher.cpp'],
['event-thread', 'event-thread.cpp'],
['file', 'file.cpp'],
['file-descriptor', 'file-descriptor.cpp'],
['hotplug-cameras', 'hotplug-cameras.cpp'],
['mapped-buffer', 'mapped-buffer.cpp'],
['message', 'message.cpp'],
['object', 'object.cpp'],
['object-delete', 'object-delete.cpp'],
['object-invoke', 'object-invoke.cpp'],
['pixel-format', 'pixel-format.cpp'],
['signal-threads', 'signal-threads.cpp'],
['threads', 'threads.cpp'],
['timer', 'timer.cpp'],
['timer-thread', 'timer-thread.cpp'],
['utils', 'utils.cpp'],
]
foreach t : public_tests
exe = executable(t[0], t[1],
dependencies : libcamera_public,
link_with : test_libraries,
include_directories : test_includes_public)
test(t[0], exe)
endforeach
foreach t : internal_tests
exe = executable(t[0], t[1],
dependencies : libcamera_private,
link_with : test_libraries,
include_directories : test_includes_internal)
test(t[0], exe)
endforeach