diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 76a4159..e07f311 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -9,23 +9,19 @@ on:
jobs:
ci:
name: CI with Default Configuration
- runs-on: ubuntu-latest
-
- steps:
- - name: Fetch Sources
- uses: actions/checkout@v2
- - name: Run through C-Util CI
- uses: c-util/automation/src/ci-c-util@v1
- with:
- m32: 1
- valgrind: 1
+ uses: bus1/cabuild/.github/workflows/ci-c-util.yml@v1
+ with:
+ cabuild_ref: "v1"
+ m32: true
+ matrixmode: true
+ valgrind: true
ci-msvc:
name: CI with MSVC
runs-on: ${{ matrix.os }}
strategy:
matrix:
- os: [windows-2016, windows-latest]
+ os: [windows-2019, windows-latest]
steps:
- name: Fetch Sources
diff --git a/AUTHORS b/AUTHORS
index 439473c..ddc4797 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -30,7 +30,7 @@ AUTHORS-LGPL:
along with this program; If not, see .
COPYRIGHT: (ordered alphabetically)
- Copyright (C) 2015-2019 Red Hat, Inc.
+ Copyright (C) 2015-2022 Red Hat, Inc.
AUTHORS: (ordered alphabetically)
Danilo Horta
diff --git a/NEWS.md b/NEWS.md
index 0404389..945e7f5 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,5 +1,15 @@
# c-list - Circular Intrusive Double Linked List Collection
+## CHANGES WITH 4:
+
+ * The minimum required meson version is now 0.60.0.
+
+ * TBD
+
+ Contributions from: David Rheinsberg
+
+ - TBD, YYYY-MM-DD
+
## CHANGES WITH 3:
* API break: The c_list_loop_*() symbols were removed, since we saw
diff --git a/README.md b/README.md
index d141989..a2e4752 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@ The requirements for this project are:
At build-time, the following software is required:
- * `meson >= 0.41`
+ * `meson >= 0.60`
* `pkg-config >= 0.29`
### Build
diff --git a/meson.build b/meson.build
index 21bb784..1776b10 100644
--- a/meson.build
+++ b/meson.build
@@ -1,15 +1,46 @@
project(
'c-list',
'c',
- version: '3',
- license: 'Apache',
default_options: [
'c_std=c99',
],
+ license: 'Apache',
+ meson_version: '>=0.60.0',
+ version: '3.0.0',
)
+major = meson.project_version().split('.')[0]
project_description = 'Circular Intrusive Double Linked List Collection'
-add_project_arguments('-D_GNU_SOURCE', language: 'c')
mod_pkgconfig = import('pkgconfig')
+# See c-stdaux for details on these. We do not have c-stdaux as dependency, so
+# we keep a duplicated set here, reduced to the minimum.
+cflags = meson.get_compiler('c').get_supported_arguments(
+ '-D_GNU_SOURCE',
+
+ '-Wno-gnu-alignof-expression',
+ '-Wno-maybe-uninitialized',
+ '-Wno-unknown-warning-option',
+ '-Wno-unused-parameter',
+
+ '-Wno-error=type-limits',
+ '-Wno-error=missing-field-initializers',
+
+ '-Wdate-time',
+ '-Wdeclaration-after-statement',
+ '-Wlogical-op',
+ '-Wmissing-include-dirs',
+ '-Wmissing-noreturn',
+ '-Wnested-externs',
+ '-Wredundant-decls',
+ '-Wshadow',
+ '-Wstrict-aliasing=3',
+ '-Wsuggest-attribute=noreturn',
+ '-Wundef',
+ '-Wwrite-strings',
+)
+add_project_arguments(cflags, language: 'c')
+
subdir('src')
+
+meson.override_dependency('libclist-'+major, libclist_dep, static: true)
diff --git a/src/meson.build b/src/meson.build
index 0261ae0..ec7f29d 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -13,10 +13,10 @@ if not meson.is_subproject()
install_headers('c-list.h')
mod_pkgconfig.generate(
- version: meson.project_version(),
- name: 'libclist',
- filebase: 'libclist',
description: project_description,
+ filebase: 'libclist-'+major,
+ name: 'libclist',
+ version: meson.project_version(),
)
endif