From 1f012e51842c2d6b501972036d478f287cba924d Mon Sep 17 00:00:00 2001 From: Moritz Martinius Date: Fri, 13 Oct 2023 00:20:25 +0200 Subject: [PATCH] moved cli11 dependency to meson wrap package --- .gitea/workflows/build.yaml | 2 +- README.md | 4 ++-- meson.build | 13 ++++++++++--- subprojects/cli11.wrap | 9 +++++++++ 4 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 subprojects/cli11.wrap diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 274419a..d935825 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -14,7 +14,7 @@ jobs: - name: install meson run: apt-get -yq install meson - name: Install build dependencies - run: apt-get -yq install libusb-1.0-0-dev libspdlog-dev libpango1.0-dev libcairo2-dev gcovr libcli11-dev + run: apt-get -yq install libusb-1.0-0-dev libspdlog-dev libpango1.0-dev libcairo2-dev gcovr - name: setup builddir run: meson setup builddir -Db_coverage=true - name: build all targets diff --git a/README.md b/README.md index 90221ed..b0bfc7c 100644 --- a/README.md +++ b/README.md @@ -14,12 +14,12 @@ This project requires: Install dependencies on Arch Linux ``` bash -pacman -S libusb spdlog pango cairo meson gcovr cli11 +pacman -S libusb spdlog pango cairo meson gcovr ``` Install dependencies on Debian/Ubuntu ``` bash -apt-get install libusb-1.0-0-dev libspdlog-dev libpango1.0-dev libcairo2-dev meson gcovr libcli11-dev +apt-get install libusb-1.0-0-dev libspdlog-dev libpango1.0-dev libcairo2-dev meson gcovr ``` ## Build diff --git a/meson.build b/meson.build index 96cf2c7..82da49b 100644 --- a/meson.build +++ b/meson.build @@ -7,7 +7,6 @@ project('ptprnt', 'cpp', usb_dep = dependency('libusb-1.0') log_dep = dependency('spdlog') pangocairo_dep = dependency('pangocairo') -cli11_dep = dependency('CLI11') incdir = include_directories('src') @@ -45,17 +44,25 @@ ptprnt_lib = library('ptprnt', ptprnt_dep = declare_dependency(include_directories: incdir, link_with: ptprnt_lib) +# CLI11 +cli11_proj = subproject('cli11') +cli11_dep = cli11_proj.get_variable('CLI11_dep') +if not cli11_dep.found() + error('CLI11 not found, can not proceed') +endif + ptprnt_exe = executable( 'ptprnt', 'src/main.cpp', install: true, - dependencies : [usb_dep, log_dep, ptprnt_dep, cli11_dep], + dependencies : [usb_dep, log_dep, ptprnt_dep, ], cpp_args : ['-DPROJ_VERSION="'+meson.project_version()+'"'], ) +### Unit tests -#cmake = import('cmake') +# GTest gtest_proj = subproject('gtest') gtest_dep = gtest_proj.get_variable('gtest_main_dep') if not gtest_dep.found() diff --git a/subprojects/cli11.wrap b/subprojects/cli11.wrap new file mode 100644 index 0000000..c2f92b2 --- /dev/null +++ b/subprojects/cli11.wrap @@ -0,0 +1,9 @@ +[wrap-file] +directory = CLI11-2.3.2 +source_url = https://github.com/CLIUtils/CLI11/archive/refs/tags/v2.3.2.tar.gz +source_filename = CLI11-2.3.2.tar.gz +source_hash = aac0ab42108131ac5d3344a9db0fdf25c4db652296641955720a4fbe52334e22 +wrapdb_version = 2.3.2-1 + +[provide] +cli11 = CLI11_dep \ No newline at end of file