Comments (6)
Meson doesn't have the same issue, because the fake curl_dep
is configured as a disabler
when get_option('webready')
is false
. So, setting it as a dependency of conntest
automatically removes it from the list of executables to be compiled.
Lines 70 to 74 in 41959b4
Lines 158 to 165 in 41959b4
Lines 192 to 194 in 41959b4
from exiv2.
Thank you for the report and the suggested fix. Are you able to submit a PR directly perhaps?
from exiv2.
...Actually, that Meson code seems strange to me — curl_dep
is also set as a disabler when get_option('webready')
is true
, but it's also set required
. (The first branch of the conditional is a bit odd there, as we already know get_option('webready')
is true
if we're on that branch.)
But dependency(..., disabler: true, required: true)
seems like a nonsensical combination of options. In fact I'll be a bit surprised if Meson doesn't grumble about it, if the build is configured that way.
The net effect of all that is that curl is required when building a webready
exiv2, which isn't the case in the CMake configuration. There, it's permissible to build with -DEXIV2_ENABLE_WEBREADY=1 -DEXIV2_ENABLE_CURL=0
, and conntest
does build and work (supporting http://
URLs only) even without curl.
from exiv2.
Thank you for the report and the suggested fix. Are you able to submit a PR directly perhaps?
Sure, will do.
from exiv2.
Actually, that Meson code seems strange to me
@neheb can best comment on Meson...
from exiv2.
(The first branch of the conditional is a bit odd there, as we already know
get_option('webready')
istrue
if we're on that branch.)But
dependency(..., disabler: true, required: true)
seems like a nonsensical combination of options. In fact I'll be a bit surprised if Meson doesn't grumble about it, if the build is configured that way.
Nope, I read that wrong. I had it in my head that the code was,
if get_option('webready')
curl_dep = dependency(
'libcurl', disabler: true, required: get_option('webready'))
But it's not, it's
curl_dep = dependency(
'libcurl', disabler: true, required: get_option('curl'))
My mistake, sorry.
But the curl-is-effectively-required thing is still somewhat the case. (It will only affect conntest
, though, since curl_dep
isn't set as a library dependency unless curl_dep.found()
is true
. That way it will never disable the library build.)
But a disabler curl_dep
will prevent the build of conntest
when libcurl isn't available. In CMake, conntest
— like libexiv2
itself — can be built "webready" with limited, HTTP-only support, even if it's not linked to curl.
from exiv2.
Related Issues (20)
- JXR Format support HOT 1
- Writing XMP metadata to jp2 files erases all XMP metadata in file HOT 10
- Dates are misinterpreted as XmpText HOT 2
- Lens Recognition for Yongnuo YN 35mm f/2 HOT 4
- Sony Marker Notes in converted from ARW to DNG files no longer readable by exiv2 (but still readable by exiftool) HOT 2
- Release version 0.28.2 HOT 5
- Support winget installation HOT 3
- Canon Lens incorrectly identified as Sigma Lens HOT 11
- Canon EF 100mm f/2.8L Macro IS USM not accurately detected HOT 1
- RawTherapee ART and Darktable cannot recognise correctly Tamron and Tokina lenses on Nikon camera HOT 7
- exiv2 does not register certain namespaces present in an image HOT 1
- Improve i18n test coverage
- Timeout in OSS-Fuzz
- exiv2.org website redirects to DNS page HOT 2
- Orientation: CLI tool and C++ API disagree HOT 2
- Access Violation in value.cpp HOT 3
- cmake出错了 HOT 4
- Who can make changes in Wiki?
- Nikon Z8, Nikon F and 3rd-party lenses not being identified in Darktable HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from exiv2.