* 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
* Update ubuntu-latest tag to ubuntu-22.04
Everytime a CI service such a GitHub actions update the images
corresponding to their 'latest' tags, pipelines tend to have some
hipcups due to changes in the distribution default packages.
By fixing the images to a specific one, we should be more resilient to
changes in the Github actions environment.
* Use same build directory used in CMake presets
Additional interesting changes in this commit:
- conan: use cmake-conan for better CMake-Conan integration
- cmake+doc: Remove deprecated EXIV2_ENABLE_WIN_UNICODE
- Ignore CMakeUserPresets.json
- doc: Add notes about the usage of CMake presets
* Enable C++17 and use new inline specifier for const variable members
* Silence deprecation warning on MSVC
* Disable samples by default
* improvements after review
* 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