mirror of
https://github.com/yhirose/cpp-httplib.git
synced 2025-05-21 04:08:29 +00:00
meson: fix regression that broke extracting version (#1253)
* meson: fix regression that broke extracting version In commit33f67386fe
the code that heuristically parsed the version broke due to the version being moved around into a more easily accessible define. While we are at it, pass the exact path of httplib.h to un-break usage as a meson subproject. This was broken in commit8ecdb11979
which checked the return code of trying to get the version; it was always broken, but formerly failed in silence and resulted in no version number. * meson: use the compiler builtins to extract the version from the header As a convenient string define, it is now possible to ask the preprocessor what the version of cpp-httplib is. This can be used from meson too, in order to avoid encoding C++ file structure into python regexes.
This commit is contained in:
parent
d87abeecf0
commit
abf3a67dd0
1 changed files with 5 additions and 6 deletions
11
meson.build
11
meson.build
|
@ -21,12 +21,11 @@ project(
|
|||
version = meson.project_version()
|
||||
python3 = find_program('python3')
|
||||
if version == 'undefined'
|
||||
# Meson doesn't have regular expressions, but since it is implemented
|
||||
# in python we can be sure we can use it to parse the file manually
|
||||
version = run_command(
|
||||
python3, '-c', 'import re; raw_version = re.search("User\-Agent.*cpp\-httplib/([0-9]+\.?)+", open("httplib.h").read()).group(0); print(re.search("([0-9]+\\.?)+", raw_version).group(0))',
|
||||
check: true
|
||||
).stdout().strip()
|
||||
cxx = meson.get_compiler('cpp')
|
||||
version = cxx.get_define('CPPHTTPLIB_VERSION',
|
||||
prefix: '#include <httplib.h>',
|
||||
include_directories: include_directories('.')).strip('"')
|
||||
assert(version != '', 'failed to get version from httplib.h')
|
||||
endif
|
||||
|
||||
message('cpp-httplib version ' + version)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue