9141 Commits (bbedc0bcfb5f5358b20068c6c75a82d42a10865d)
 

Author SHA1 Message Date
Rosen Penev e2686569bf meson CI: test all features enabled and disabled
That was the original intention with wrap-mode.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 63b5ea47f9 meson CI: remove /analyze
slows down CI massively. Not too useful as most issues have been fixed.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev c4ad51077a meson CI: test oldest and newest compilers only
No need for the ones in the middle.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev a681b2425e meson CI: move clang workflow to the same file
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev a6766b208e meson: only define MinGW stuff for non UCRT
time_t is 64-bit with UCRT.

__USE_MINGW_ANSI_STDIO is used only to get proper printf formats under
msvcrt. UCRT has them. Hence why it's deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 3aa872dd4c meson: add libobsd wrap
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev c8c289613d remove EXIV2API from src
Already declared in include

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Miloš Komarčević 64556b02d2
Merge pull request #2582 from Exiv2/sony_arw_401
Update Sony file format table
2 years ago
Miloš Komarčević fbf6100d3a Update Sony file format table 2 years ago
Rosen Penev 3fd513fb15 use using in slice
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 971bbfac9b meson CI: add MSYS2
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 498d01c44d meson CI: remove static build
There's no need for it anymore. All static bugs (mostly on Windows)
were fixed.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 5d11711db8 meson CI: add FreeBSD
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev c42c7fa9ac meson: build iconv with FreeBSD
Bug was fixed.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 9322f137aa don't compile WIN32 stuff when iconv is present
MinGW has iconv, so this block of code can go away.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev b10f2d3e95 geotag: fix compilation with MSYS
using namespace std interferes with windows.h

stat defines interfere with internal headers.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev cfc0ef0b65 meson: fix tests when zlib is disabled
This sometimes shows up in CI if zlib is not found.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 3633f8d2c2 clang-tidy: remove const from data members
Found with cppcoreguidelines-avoid-const-or-ref-data-members

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 233f404ac7 direct initialize some structs
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Miloš Komarčević 0dd06894b3 makernotes: workaround for Olympus header corruption 2 years ago
Miloš Komarčević dd48bb13ee Add equivalent soversion to meson build 2 years ago
Miloš Komarčević caddbf663d Fix shared object versioning 2 years ago
Miloš Komarčević 3403dabec2 Add Sony ZV-E1 ID 2 years ago
Miloš Komarčević 2f01f70eaf Add some more Nikon Z lenses 2 years ago
Rosen Penev 0fa22ed55d remove codecvt
Deprecated in C++17

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 2e33dad1d1 easyaccess const changes
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev b92b121532 meson: remove now unused checks
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 632536a55a meson: build samples
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 848da172da make runner.py executable
Otherwise meson will not find it.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 0c0dabfcc7 geotag: add GCC7 support
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 357d970425 get rid of EXV_CALL_MEMBER_FN
std::invoke can be used.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Eli Schwartz 2108ae671a meson: compile convert.cpp separately, with just iconv
Compiling this file with all dependencies as part of the main library
causes it to have the include directories of all dependencies, but iconv
is a bit of a special case: it can have a libc builtin or an external
library version. The external library might be installed to the same
directory as other dependencies, for example on FreeBSD -- but if exiv2
is not supposed to be built with GNU libiconv, then it will expect to
see the libc builtin.

The leaky include directories means that iconv.h gets pulled in from the
GNU libiconv version instead, though, which then forces -liconv to be
necessary for no reason.

There are two general solutions to ensuring that everything links
correctly:

- expect exiv2 to be built with *global* -I/usr/local/include -L/usr/local/lib
  thus forcing the use of GNU libiconv

- carefully compiling the iconv support without any other dependencies

Let's do the latter since it allows for more choice and is easier to
enforce.
2 years ago
Rosen Penev 05f2731d34 std::array removals
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 8fe2ae6030 remove constexpr
const_iterator is not constexpr. clang 15 on MSYS2 fails to compile
because of this.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 513b0e8bbd constexpr some constructors
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 0aed79ff57 remove several constructors
Just direct initialize

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 024e026bbb clang: small fixes
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 9ae339d39f clang: fix various documentation errors
Found with -Wdocumentation

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Miloš Komarčević 18e11ac1b6
Explicitly include stdint (#2558) 2 years ago
Rosen Penev 22b12012a6 more SonarLint cleanups
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev d29001f2a4 clang-tidy: don't use non const refs
Found with: google-runtime-references

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 01aab49f6f don't assign an fs::path to a string
Seems to trip up MemorySanitizer on ARM32.

Also applied various simplifications to the code using std::filesystem

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 5ccb525dd3 remove inline function
Just make it part of the template

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 763cfaf2b4 MSVC warning fixes
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 1f3d1f066f extern to static
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev ca95edc6bd random fixes
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev d6c1059485 gcc: ifdef
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 0a8fedf249 gcc: noexcept
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 1f21164085 gcc: remove redundant struct
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 9a1f37ecbe get rid of Key() move operations
Because of Impl, there's no way this can work properly.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago