diff --git a/releases.json b/releases.json index e82fd34a4..ec7a10cd9 100644 --- a/releases.json +++ b/releases.json @@ -559,6 +559,14 @@ "1.3.0-1" ] }, + "ctre": { + "dependency_names": [ + "ctre" + ], + "versions": [ + "3.9.0-1" + ] + }, "curl": { "dependency_names": [ "libcurl" diff --git a/subprojects/ctre.wrap b/subprojects/ctre.wrap new file mode 100644 index 000000000..41bfcde3a --- /dev/null +++ b/subprojects/ctre.wrap @@ -0,0 +1,9 @@ +[wrap-file] +directory = compile-time-regular-expressions-3.9.0 +source_url = https://github.com/hanickadot/compile-time-regular-expressions/archive/refs/tags/v3.9.0.tar.gz +source_filename = ctre-v3.9.0.tar.gz +source_hash = 55778712968d4f3ad00e9d20fc4d2149d14d96b4ff3dab086613797cd2ccd2b2 +patch_directory = ctre + +[provide] +dependency_names = ctre diff --git a/subprojects/packagefiles/ctre/include/meson.build b/subprojects/packagefiles/ctre/include/meson.build new file mode 100644 index 000000000..854715c2a --- /dev/null +++ b/subprojects/packagefiles/ctre/include/meson.build @@ -0,0 +1,59 @@ +inc = include_directories('.') + +hdrs = files( + 'ctll.hpp', + 'ctll/actions.hpp', + 'ctll/fixed_string.hpp', + 'ctll/grammars.hpp', + 'ctll/list.hpp', + 'ctll/parser.hpp', + 'ctll/utilities.hpp', + 'ctre-unicode.hpp', + 'ctre.hpp', + 'ctre/actions/asserts.inc.hpp', + 'ctre/actions/atomic_group.inc.hpp', + 'ctre/actions/backreference.inc.hpp', + 'ctre/actions/boundaries.inc.hpp', + 'ctre/actions/capture.inc.hpp', + 'ctre/actions/characters.inc.hpp', + 'ctre/actions/class.inc.hpp', + 'ctre/actions/fusion.inc.hpp', + 'ctre/actions/hexdec.inc.hpp', + 'ctre/actions/look.inc.hpp', + 'ctre/actions/mode.inc.hpp', + 'ctre/actions/named_class.inc.hpp', + 'ctre/actions/options.inc.hpp', + 'ctre/actions/properties.inc.hpp', + 'ctre/actions/repeat.inc.hpp', + 'ctre/actions/sequence.inc.hpp', + 'ctre/actions/set.inc.hpp', + 'ctre/atoms.hpp', + 'ctre/atoms_characters.hpp', + 'ctre/atoms_unicode.hpp', + 'ctre/evaluation.hpp', + 'ctre/find_captures.hpp', + 'ctre/first.hpp', + 'ctre/flags_and_modes.hpp', + 'ctre/functions.hpp', + 'ctre/id.hpp', + 'ctre/iterators.hpp', + 'ctre/literals.hpp', + 'ctre/operators.hpp', + 'ctre/pcre.hpp', + 'ctre/pcre_actions.hpp', + 'ctre/range.hpp', + 'ctre/return_type.hpp', + 'ctre/rotate.hpp', + 'ctre/starts_with_anchor.hpp', + 'ctre/utf8.hpp', + 'ctre/utility.hpp', + 'ctre/wrapper.hpp', + 'unicode-db.hpp', + 'unicode-db/unicode-db.hpp', + 'unicode-db/unicode_interface.hpp', +) + +install_headers( + hdrs, + preserve_path: true, +) diff --git a/subprojects/packagefiles/ctre/meson.build b/subprojects/packagefiles/ctre/meson.build new file mode 100644 index 000000000..6177c0377 --- /dev/null +++ b/subprojects/packagefiles/ctre/meson.build @@ -0,0 +1,22 @@ +project( + 'ctre', + 'cpp', + version: '3.9.0', + license: 'Apache-2.0', + default_options: ['cpp_std=gnu++20,gnu++17,vc++latest,c++20,c++17'], +) + +subdir('include') + +ctre_dep = declare_dependency( + include_directories: inc, + sources: hdrs, +) + +meson.override_dependency('ctre', ctre_dep) + +pkgconf = import('pkgconfig') +pkgconf.generate( + name: 'ctre', + description: 'Fast compile-time regular expressions with support for matching/searching/capturing during compile-time or runtime.', +)