Rosen Penev
cfe041e7e0
meson: update subprojects
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
e61e3d5a8b
meson: error on MSVCRT builds
...
MSVCRT requires wide string APIs, which were removed. Instead of dealing
with this, just error out on it. MSVCRT is deprecated anyway.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
8588024a66
add maybe_unused
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
8361b92a50
meson: add fallback paths for iconv
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
e7f6a286f3
http: convert to inet_pton and getaddrinfo
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
6ea6e2cb13
replace stat with std::filesystem
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
3b15b6f9fb
use SHGetKnownFolderPath
...
SHGetFolderPathA is deprecated.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
898faffa0d
use ReplaceFileA directly
...
This was introduced in Windows 95. exiv2 does not work on older.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
43ffc614f3
github CI: remove tags from container names
...
Best to be latest.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
06cf19ac9b
remove inline
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
4d2d5f3673
fix compilation with newer CMake
...
It seems CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS on CMake 3.27 breaks
compilation on Windows.
The reason for it here is wrong: unit tests do not need non exported
symbols.
2 years ago
Ryan Friedman
4dfb78131c
Switch back to exporting dep on EXPAT because it's needed for static libs
...
Signed-off-by: Ryan Friedman <ryan.friedman+github@avinc.com>
2 years ago
Ryan Friedman
9f5767da7c
Link expat only for the build interface
...
Signed-off-by: Ryan Friedman <ryan.friedman+github@avinc.com>
2 years ago
Rosen Penev
b832728988
add std::endian support if available
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
9894c69cd0
small cleanup
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
100eabbc08
add std::byteswap support
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
8a4fa1c146
extra comma
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
c52bc0ff95
silence GCC8 warning on non default constructor
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
dae2b6dda8
more doxygen
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Ryan Friedman
368eab01db
Downgrade required CMake version to consume exiv2
...
Signed-off-by: Ryan Friedman <ryan.friedman+github@avinc.com>
2 years ago
Ryan Friedman
eb05551ed2
Add Exiv2 namespace for exported targets
...
* This matches an alias target name
* Recommend using the namespaced target in the README
Signed-off-by: Ryan Friedman <ryan.friedman+github@avinc.com>
2 years ago
Ryan Friedman
5e1cf4dad9
Make ZLIB depend on EXIV2_ENABLE_PNG
...
Signed-off-by: Ryan Friedman <ryan.friedman+github@avinc.com>
2 years ago
Ryan Friedman
a8c3455e5c
Add a cmake config file export
...
Signed-off-by: Ryan Friedman <ryan.friedman+github@avinc.com>
2 years ago
Ryan Friedman
0e836eb50c
Add inih_reader_LIBRARY too
...
Signed-off-by: Ryan Friedman <ryan.friedman+github@avinc.com>
2 years ago
Ryan Friedman
16c533fc77
Make FindInih also make finding reader required
...
* Fixes issue on alpine where inih-dev is installed without inih-inireader-dev
* https://github.com/Exiv2/exiv2/pull/2443#issuecomment-1648144243
Signed-off-by: Ryan Friedman <ryan.friedman+github@avinc.com>
2 years ago
Miloš Komarčević
b7c45b49aa
Leverage global BUILD_TESTING option
2 years ago
kamiccolo
5631e84237
Switch to PROJECT_SOURCE_DIR for gcovr as well
2 years ago
kamiccolo
e7cea4b2fd
geotag sample does not require ROOT_PROJECT/src to be included. Switch for ROOT_PROJECT/include for <exiv2/exiv2.hpp>
2 years ago
kamiccolo
643165fda6
Add PROJECT_ROOT/app for inclusion for getopt_tests
2 years ago
kamiccolo
e1efef9d84
unitTests includes PROJECT_ROOT/src (cr2header_int.hpp, etc)
2 years ago
kamiccolo
52fb9ee191
Revert "Isolate samples, unittests, coverage and overall build to PROJECT_BINARY_DIR"
...
This reverts commit 057ddfcf1755380583c6eb4ac97767a652fbfe9d.
2 years ago
kamiccolo
c8e6ef2abe
Use PROJECT_SOURCE_DIR while looking for root cmake subfolder
2 years ago
kamiccolo
6f5b1c94db
Isolate samples, unittests, coverage and overall build to PROJECT_BINARY_DIR
2 years ago
kamiccolo
3dea23f0de
app/CMakeLists: rely on PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR for i18n includes
2 years ago
kamiccolo
b2b7b0dd01
cmake: switch from inclusion of CMAKE_SOURCE_DIR to CMAKE_CURRENT_SOURCE_DIR
2 years ago
Miloš Komarčević
b42586b85f
Streamline gtest dependencies
2 years ago
Miloš Komarčević
562ef57b4f
Use CMake config mode for gMock detection
2 years ago
norbertwg
3e8e09d450
addition for documentation of isoSpeed
2 years ago
norbertwg
f791388a93
clang-format
2 years ago
norbertwg
7d292c4dda
Missing word added
2 years ago
norbertwg
836cce636a
enhance API documentation
2 years ago
Rosen Penev
a2d6996ca2
exiv2: fix compilation with GCC7
...
Needs experimental filesystem.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
c827648127
add missing commas
...
Formats the structs properly.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
e1b3dfa278
fix toAscii function
...
c == 0 was a dead branch because of the way printable ascii was
calculated. Move it up instead.
While at it, replace std::transform with std::replace. Easier to read.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
22a4b71752
optimize other toAscii function with early exit
...
GCC is able to see that the branch is useless as it can be done at
compile time. Produces shorter assembly with both -O2 and -O3.
Assign the pointer to the std::string directly and use proper iterators
with std::transform. Also produces shorter assembly.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Pino Toscano
7f997572f5
tests: do not hardcode ENOENT
...
The actual values of errno constants are not specified in POSIX, and
left as implementation details; hence, tweak the check for the ENOENT
description to not check for the actual value.
2 years ago
Pino Toscano
b826a7d733
asf: fix GUID reading on big endian platforms
...
Setting the initial parts (data1_, data2_, data3_) from the bytes
directly using memcpy() means that they will be interpreted depending
on the platform endianness. For example, the initial 4 bytes of the ASF
header are 0x30, 0x26, 0xB2, 0x75, which will be read as 0x3026B275 on
big endian platforms, never matching the actual GUID (0x75B22630), which
is always specified in little endian format.
Hence, when reading a GUID from data, make sure to turn the GUID parts
to little endian. This fixes the reading of ASF files on big endian
platforms.
Fixes commit bed8d3d93c
2 years ago
Miloš Komarčević
029dc9f24a
Add some Sony IDs
2 years ago
Rosen Penev
1837bf055e
memcpy to copy_n conversions
...
The latter is more strict regarding types
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
640282f33b
replace reinterpret_cast with copy_n
...
On mips64, this throws a cast-align warning. Silence it.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago