uvcdynctrl: compile with meson

meson's iconv support actually works.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
Rosen Penev 2022-06-09 15:28:42 -07:00
parent d8dc54ceea
commit 204dec4fd2
4 changed files with 49 additions and 24 deletions

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=uvcdynctrl
PKG_VERSION:=0.2.5
PKG_RELEASE:=3
PKG_RELEASE:=4
PKG_SOURCE:=libwebcam-src-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/libwebcam
@ -22,7 +22,7 @@ PKG_LICENSE_FILES:=uvcdynctrl/COPYING
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
include $(INCLUDE_DIR)/cmake.mk
include $(INCLUDE_DIR)/meson.mk
define Package/uvcdynctrl
SECTION:=utils

View File

@ -1,11 +0,0 @@
--- a/uvcdynctrl/CMakeLists.txt
+++ b/uvcdynctrl/CMakeLists.txt
@@ -77,7 +77,7 @@ include_directories (../common/include)
include_directories (${CMAKE_CURRENT_BINARY_DIR})
link_directories (${LIBWEBCAM_BINARY_DIR}/webcam)
-target_link_libraries (uvcdynctrl webcam)
+target_link_libraries (uvcdynctrl webcam iconv)
# Compiler flags
set_target_properties (uvcdynctrl PROPERTIES

View File

@ -0,0 +1,47 @@
--- /dev/null
+++ b/libwebcam/meson.build
@@ -0,0 +1,9 @@
+iconv_dep = dependency('iconv')
+
+libwebcam = static_library('webcam',
+ 'test.c',
+ 'libwebcam.c',
+ 'dynctrl.c',
+ dependencies: [ iconv_dep, xml_dep ],
+ include_directories: incdirs,
+)
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,9 @@
+project('libwebcam', 'c', version: '0.25', meson_version: '>=0.60')
+
+incdirs = include_directories('common/include')
+xml_dep = dependency('libxml-2.0')
+
+add_project_arguments('-DHAVE_CONFIG_H', language: 'c')
+
+subdir('libwebcam')
+subdir('uvcdynctrl')
--- /dev/null
+++ b/uvcdynctrl/meson.build
@@ -0,0 +1,20 @@
+cdata = configuration_data()
+cdata.set_quoted('UVCDYNCTRL_DATA_DIR', get_option('prefix') / 'share' / 'uvcdynctrl')
+cdata.set_quoted('UVCDYNCTRL_VERSION', meson.project_version())
+cfile = configure_file(
+ input: 'config.h.cmake',
+ output: 'config.h',
+ format: 'cmake',
+ configuration: cdata,
+)
+
+uvc = executable('uvcdynctrl',
+ 'cmdline.c',
+ 'controls.c',
+ 'main.c',
+ include_directories: incdirs,
+ install : true,
+ link_with: libwebcam,
+)
+
+install_subdir('data', install_dir: 'share/uvcdynctrl')

View File

@ -1,11 +0,0 @@
--- a/uvcdynctrl/CMakeLists.txt
+++ b/uvcdynctrl/CMakeLists.txt
@@ -77,7 +77,7 @@ include_directories (../common/include)
include_directories (${CMAKE_CURRENT_BINARY_DIR})
link_directories (${LIBWEBCAM_BINARY_DIR}/webcam)
-target_link_libraries (uvcdynctrl webcam iconv)
+target_link_libraries (uvcdynctrl webcam_static iconv)
# Compiler flags
set_target_properties (uvcdynctrl PROPERTIES