From 2619164b6998b2143e776a1c2f10140af9fe878b Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Tue, 1 Nov 2022 21:19:20 +0000 Subject: meson: Convert CMake to Meson build infrastructure Provide infrastructure to be able to build the uvc-gadget library as a shared object and an executable which links against this as a dependency to implment the reference 'uvc-gadget' application. All existing cmake infrastructure is removed. This removes custom glob support that was previously used by an early development for Android, which is expected to be re-added later when required. Reviewed-by: Daniel Scally Signed-off-by: Kieran Bingham --- lib/CMakeLists.txt | 18 ------------------ lib/compat/CMakeLists.txt | 12 ------------ lib/meson.build | 31 +++++++++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 30 deletions(-) delete mode 100644 lib/CMakeLists.txt delete mode 100644 lib/compat/CMakeLists.txt create mode 100644 lib/meson.build (limited to 'lib') diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt deleted file mode 100644 index eacfb9c..0000000 --- a/lib/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -file(GLOB SOURCES "*.c" "*.h") -file(GLOB HEADERS "../include/uvcgadget/*.h") - -add_subdirectory(compat) - -add_library(uvcgadget ${SOURCES}) - -set_target_properties(uvcgadget PROPERTIES PUBLIC_HEADER "${HEADERS}") -target_include_directories(uvcgadget - PUBLIC - $ - $ - $) - -install(TARGETS uvcgadget - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - PUBLIC_HEADER DESTINATION include/uvcgadget) diff --git a/lib/compat/CMakeLists.txt b/lib/compat/CMakeLists.txt deleted file mode 100644 index 5fd6db4..0000000 --- a/lib/compat/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -include(CheckFunctionExists) -include(CheckIncludeFile) - -check_include_file(dirent.h HAVE_DIRENT_H) - -check_function_exists(glob HAVE_GLOB) -if(NOT HAVE_GLOB) - set(SOURCES "${SOURCES}" - "${CMAKE_CURRENT_SOURCE_DIR}/glob.c" - "${CMAKE_SOURCE_DIR}/include/compat/glob.h" - PARENT_SCOPE) -endif() diff --git a/lib/meson.build b/lib/meson.build new file mode 100644 index 0000000..7db7519 --- /dev/null +++ b/lib/meson.build @@ -0,0 +1,31 @@ +# SPDX-License-Identifier: CC0-1.0 + +libuvcgadget_sources = files([ + 'configfs.c', + 'events.c', + 'stream.c', + 'uvc.c', + 'v4l2.c', + 'v4l2-source.c', + 'video-buffers.c', + 'video-source.c', +]) + +libuvcgadget = shared_library('uvcgadget', + libuvcgadget_sources, + version : uvc_gadget_version, + install : true, + include_directories : includes) + +libuvcgadget_dep = declare_dependency(sources : [ + uvcgadget_public_headers, + ], + include_directories : includes, + link_with : libuvcgadget) + +pkg_mod = import('pkgconfig') +pkg_mod.generate(libuvcgadget, + description : 'UVC Gadget support library', + subdirs : 'uvcgadget') + +meson.override_dependency('uvcgadget', libuvcgadget_dep) -- cgit v1.2.3