Commit Graph

262 Commits

Author SHA1 Message Date
Mohamed Ali Chebbi
1c764358bb
Encapsulate video support with compilation variable EXV_ENABLE_VIDEO (#2448)
* Encapsulate video support with compilation variable EXV_ENABLE_VIDEO

* Encapsulate video support with compilation variable EXV_ENABLE_VIDEO: add variable to unit test files

* Encapsulate video support with compilation variable EXV_ENABLE_VIDEO: encapsulate in makefile

* Encapsulate video support with compilation variable EXV_ENABLE_VIDEO: fix PR windows matrix

* Encapsulate video support with compilation variable EXV_ENABLE_VIDEO: activate only for concerned CI tests

* Encapsulate video support with compilation variable EXV_ENABLE_VIDEO: desable for linux release

* Encapsulate video support with compilation variable EXV_ENABLE_VIDEO: add to Fuzz PR
2023-01-04 13:01:34 +01:00
Miloš Komarčević
557a5cebd5 Make brotli dependency controllable 2022-10-24 12:32:52 +02:00
Miloš Komarčević
9a6ee59421 Support brotli compressed boxes in JPEG XL 2022-10-24 12:32:51 +02:00
Rosen Penev
75f54e093f cmakelists.txt: run through cmake-format
Just whitespace changes

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-08 23:23:31 -07:00
Luis Díaz Más
a8bb38ab6f Move exiv2 app into its own folder 2022-02-18 13:51:37 +01:00
Luis Díaz Más
f59a9abfe3 Remove unused PRINTUCS2 CMake option 2022-02-13 22:51:00 +01:00
Luis Díaz Más
fdfb295cc4 windows: Trick to get UTF-8 encoded argv in main entry point
- Adapt exifprint to the new wmain strategy
- Delete have_unicode_path
- wmain does not work with MSYS & MinGW
- cmake: entry point via cmake instead of pragma
- cmake: better doc for MSVC flags
- Fix entry point in sample apps
- Adapt CMake code to work with MSVC & MinGW
2022-02-13 22:49:32 +01:00
Luis Díaz Más
7933ff401d Remove dead code around EXV_UNICODE_PATH 2022-02-13 22:49:32 +01:00
Christoph Hasse
e3ca59b01f move test_regression_allfiles.py into its own subdirectory and add the test to cmakelists.txt 2022-02-13 22:46:54 +01:00
Luis Díaz Más
c7185c71db Move all tests depending on sample applications to bash_tests 2022-02-09 22:19:49 +01:00
Luis Díaz Más
b0318c36be
Upgrade C++ standard to c++17 (#2052)
* Enable C++17 and use new inline specifier for const variable members

* Silence deprecation warning on MSVC

* Disable samples by default

* improvements after review
2022-01-09 20:09:34 +01:00
Robin Mills
f3393f8308 Fixes following review. 2021-12-20 11:01:17 +00:00
Robin Mills
56939796a0 Restored test lensTest. Minimized differences between main/README.md and 0.27-maintenance/README.md. 2021-12-19 12:02:18 +00:00
Robin Mills
122fb95eb3 Updating documentation to respect ctest. 2021-12-17 16:05:33 +00:00
Kevin Backhouse
5bfa568b63
Add OSS-Fuzz status badge and CIFuzz integration. 2021-08-17 17:47:17 +01:00
Kevin Backhouse
cee9015ff8
Add special build mode for OSS-Fuzz. 2021-08-15 13:34:41 +01:00
Kevin Backhouse
64fe77673f
Decouple EXIV2_BUILD_FUZZ_TESTS from EXIV2_TEAM_USE_SANITIZERS. 2021-08-11 15:11:01 +01:00
Christoph Hasse
08975e3dfc refactor: small cleanup of test infra to avoid duplicate runs 2021-07-30 14:25:50 +02:00
Kevin Backhouse
bf786f4cc6
Updates to make fuzzing work. 2021-07-11 21:14:08 +01:00
Jeka Pats
b2cdf2a535
Add libFuzzer integration + report bug
This commit places the basics for libFuzzer integration with one
fuzzer which fuzzes the readMetadata function. The fuzzer is
located at fuzz/read-metadata.

To add more fuzzers please add them to ./fuzz directory as
described in the README.

Also a memory corruption bug is found using this fuzzer which
might lead to additional bugs after fix is pushed.
2021-07-09 12:32:21 +01:00
Fabrice Fontaine
f31c0eba09 add BUILD_WITH_STACK_PROTECTOR option
Add BUILD_WITH_STACK_PROTECTOR to avoid the following build failure with
toolchains that don't support stack-protector:

/home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mipsel-buildroot-linux-uclibc/9.3.0/../../../../mipsel-buildroot-linux-uclibc/bin/ld: utils.cpp:(.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag]+0xd0): undefined reference to `__stack_chk_fail'

Indeed, support for -fstack-protector-strong can't be detected through
check_cxx_compiler_flag as some toolchains need to link with -lssp to
enable SSP support

Fixes:
 - http://autobuild.buildroot.org/results/ae4635899124c602c70d2b342a76f95c34aa4a3d

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2021-07-01 19:44:40 +02:00
Luis Díaz Más
f30022d73d
Fix issues detected with PVS-Studio + other little improvements (#1689)
* avoid re-declaration of constant variables

* Replace pthreads critical section with std::mutex

* ci - better naming

* cmake - increase minimum version to 3.11. Use project DESCRIPTION

* fix - do not treat string::find() return type as bool

* remove conditions that were always true

* remove condition that were always false

* Remove EXV_HAVE_GMTIME_R which is not used anymore

* pixelWidth_ was inherited from Exiv2::Image

The width & height variables in the TiffImage class need to be mutable
to be able to change their values on the getters pixelHeight() and
pixelWidth() ... Do not ask me why ...

* Remove superfluous if

* pvs:V766 item with identical key added already

* pvs:V730 not all members were initialized (time)

* pvs:V730 not all members are initialized

* pvs:v668 no point in testing pointer against null after new

* pvs:V1048 variable assigned the same value

* replace c-style dynamic vector with std one

* pvs:547 fakeData is always true

* Remove useless constructor in derived class

* pvs:V690 modern way to disable copy-ctor

* Replace malloc/free with new/delete. No need to check for null

* pvs:V1028 cast operands and not result

* Remove custom MIN/MAX functions

* pvs:V595 pointer used before verified against null

* pvs: index used before being checked

* pvs:V1028 possible overflow. Cast operands

* pvs:v575 potential null pointer passed to other functions

* pvs:V547 deal with always true/false expressions

* pvs:V560 part of conditional expressions always false or true

* pvs:V701 possible break in realloc -> move to std::vector

* Make some classes 'final'

* Replace sprintf with std::to_string()

* fix compilation on windows
2021-06-01 12:39:10 +02:00
Luis Díaz Más
b54ade76ab Python3 dependency is not obligatory
Some of the CI-Linux-Distros jobs failed because of this. Python3 is not
available by default on Debian:9 nor in Centos:8.

Since we are not currently running the tests in those platforms, and
python3 is just used for testing, we do not want to enforce this project
dependency.
2021-05-18 14:39:17 +02:00
Luis Díaz Más
9710ebe5f0 cmake - Use cmake -E to be able to run tests on different windows shells 2021-05-17 07:31:45 +02:00
Luis Díaz Más
7aa5260af5 cmake: remove obsolete targets 2021-05-17 07:31:45 +02:00
Luis Díaz Más
64eb95a16f cmake: find python3 and use it in tests 2021-05-17 07:31:45 +02:00
Luis Diaz Mas
e87424b5e0 Add CTest support 2021-05-15 16:58:24 +02:00
Luis Diaz Mas
8035b7f320 cmake: Add target for obtaining local covarage reports 2021-05-14 22:38:30 +02:00
Luis Díaz Más
b675c58bab Move include/CMake to src 2021-05-04 12:36:14 +02:00
Luis Díaz Más
2de3bad869 Remove EXIV2_ENABLE_VIDEO and related stuff 2021-04-18 09:44:51 +02:00
Luis Díaz Más
94b87a8dec Remove deprecated SSH support 2021-04-18 09:44:51 +02:00
Luis Díaz Más
15ac7d13ac
Merge branch 'main' into modernizationCpp 2021-04-16 09:19:42 +02:00
Robin Mills
206a2c495c fix_enableBMFF_v1 2021-04-16 08:23:50 +02:00
Robin Mills
05263a7766 bump_v1.00_version 2021-04-16 08:23:22 +02:00
Robin Mills
bf1e9fe4ad fix_1558_cmake_build_type 2021-04-15 12:41:31 +01:00
Luis Díaz Más
cd5c8fba49 remove some cmake old checks + newer gtest version 2021-04-15 06:56:37 +02:00
Robin Mills
b09019c636 fix_enableBMFF_v1 2021-04-14 16:21:50 +01:00
Robin Mills
350b7b0808 bump_v1.00_version 2021-04-11 07:11:37 +01:00
Robin Mills
e1aa4ced4d v0.27.4RC2 2021-04-07 16:18:22 +01:00
Robin Mills
fd47dc635d Bump revision number to Exiv2 v0.27.4 RC1. PR will be marked for review. 2021-03-18 20:33:33 +00:00
Robin Mills
cd7721c818 Downgrade version to 0.27.4.10 = 0.27.4 RC1 Preview. 2021-03-18 17:59:31 +00:00
Robin Mills
7264238e3e v27_4_rc1_effort2 2021-03-18 09:46:21 +00:00
Robin Mills
16866b3740 Exiv2 v0.27.4 RC1 Preview. 2021-03-17 13:37:40 +00:00
Robin Mills
60d383eabe exiv2_v27_4_rc1 2021-03-17 11:29:00 +00:00
Miloš Komarčević
bf43c6cfd1 Replace tabs to fix indentation issues 2021-03-17 09:42:43 +01:00
Robin Mills
1fad29e11f Fix typos. 2021-03-17 08:21:32 +00:00
Robin Mills
21b73b4207 Refactor CMakeList.txt to run all tests using tests/runner.py 2021-03-17 07:30:59 +00:00
Peter Kovář
f0a321dedb [WIP] Base Media File Format 2021-02-16 10:10:00 +01:00
Peter Kovář
92469f4c27 [WIP] Add ISO/IEC Base Media File Format 2021-01-24 15:09:57 +01:00
postscript-dev
5dbd53fd09
Update PACKAGE_URL and PROJECT_DESCRIPTION text 2020-12-26 19:18:08 +00:00