Commit Graph

184 Commits

Author SHA1 Message Date
Robin Mills
fd2ab89de5 exifprint_lint 2021-06-23 14:24:46 +01:00
Attila Oláh
33419c8dd1
Fix compilation with -Wunused-variable
When compiling with -Wunused-variable, `EXT_STRERROR_R_CHAR_P` gets undefined because of a failing compilation check.

An alternative would be to mark `c` as `__attribute__((undefined))`, but MSVC doesn't have `__attribute__((undefined))`.
2021-06-14 12:41:47 +00: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
59a80eba2e mac - cmake_paths does not work directly on mac 2021-05-17 07:31:45 +02:00
Luis Díaz Más
08672dbea3 make win debug builds a bit faster 2021-05-17 07:31:45 +02:00
Luis Díaz Más
6c2141959a conan - change generator to be able to use latest expat version 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
53f18cf408 conan: use cmake_paths generator instead of cmake
We also upgraded the xcode version on Travis-CI
2021-04-23 14:53:08 +02:00
Luis Díaz Más
c480be5814 cmake: disable -Wuseless-cast 2021-04-22 18:40:03 +02:00
Luis Díaz Más
75bf666d3b Remove typedef to Dictionary::const_iterator 2021-04-19 10:43:46 +02:00
Luis Díaz Más
6c0059b5a0 cmake: Treat xmpsdk headers as system ones
This is done so that when we use EXIV2_TEAM_EXTRA_WARNINGS we do not get
warnings about XMPSDK (we do not want to deal with those)
2021-04-18 18:49:58 +02:00
Luis Díaz Más
83dda6ccd7 Fix warnings related to -Wdeprecated-copy 2021-04-18 18:49:58 +02:00
Robin Mills
33d38dc472 Fix Cygwin64 to use -std=gnu++11 (instead of -std=c++11). MinGW/msys2 remains broken on CI. It's OK on my machine. 2021-04-18 09:44:51 +02:00
Luis Díaz Más
2f3989518a cmake: new toolchain file for MinGW cross-compilation on Ubuntu 2021-04-18 09:44:51 +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
cd5c8fba49 remove some cmake old checks + newer gtest version 2021-04-15 06:56:37 +02:00
Luis Díaz Más
0bbaa6eff3 cpp: Replace auto_ptr by unique_ptr 2021-04-15 06:56:11 +02:00
Miloš Komarčević
b92002b304 Match closing statement, doh 2021-03-19 16:14:27 +01:00
Miloš Komarčević
d49affaec5 Check for symlinks when uninstalling
Partly addresses #1501
2021-03-19 15:53:01 +01:00
Robin Mills
b975ad4cbb Push change in PR #1500. Thank you @kmilos. 2021-03-19 11:22:23 +00:00
Miloš Komarčević
e3c78623f7 Include HEIC type explicitly 2021-03-10 22:23:01 +01:00
Miloš Komarčević
0da1a50afe Revert style changes 2021-03-08 18:18:17 +01:00
Miloš Komarčević
e09d093ccf Minor whitespace formatting 2021-03-08 11:58:06 +01:00
Robin Mills
1b47e1e8f6 Fix linux/CI build breaker. 2021-02-24 12:15:21 +00:00
Robin Mills
ea968149f2 Fix linux/CI build breaker. 2021-02-24 11:55: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
Miloš Komarčević
8d06265470 Fix MinGW build for Ninja generator 2021-01-14 15:44:26 +01:00
Robin Mills
ec3d6faacf New profiles as documented in README-CONAN.md 2020-11-20 18:56:28 +00:00
Robin Mills
fded2da978 Documentation revision in response to #1394 2020-11-20 18:55:48 +00:00
Luis Díaz Más
30773c92a3 WIN32_LEAN_AND_MEAN propagated with exiv2lib target 2020-10-06 22:48:38 +02:00
Robin Mills
a82bcebaab fix_cygwin_stack_protection_0.27 2020-10-01 18:50:36 +01:00
Luis Díaz Más
f39b23806b Assume existence of stdint.h 2020-09-16 21:53:49 +02:00
Luis Diaz Mas
bfd0e0593b Use check_cxx_compiler_flags instead of C version 2020-09-16 11:53:11 +02:00
Robin Mills
0005edf2f9 fix_solaris_stack_protection_0.27 2020-09-09 17:23:02 +01:00
Robin Mills
ff0671ccb7
Merge pull request #1275 from jtojnar/fix-paths-0.27
cmake: Fix paths with absolute GNUInstallDirs
2020-09-05 12:46:48 +01:00
Jan Tojnar
48f2c9dbba
cmake: Fix paths with absolute GNUInstallDirs
It is not generally true that `CMAKE_INSTALL_<dir>` variables are relative paths:

https://github.com/jtojnar/cmake-snips#concatenating-paths-when-building-pkg-config-files
https://github.com/jtojnar/cmake-snips#assuming-cmake_install_dir-is-relative-path

Let's join them properly as paths, not strings.

On Windows, the absolute paths will likely remain unsupported as neither the CMake function,
nor the C++ code is able to detect absolute paths.

Signed-off-by: Jan Tojnar <jtojnar@gmail.com>
2020-09-05 11:18:46 +02:00
clanmills
1a2300565a fix_1276_BUILD_PO_0.27 2020-09-05 07:28:51 +01:00
Thomas Petazzoni
bbe0b70840
Properly detect availability of flags in cmake/compilerFlags.cmake (#1252)
Instead of relying on fragile and complex logic to decide if a
compiler flag is available or not, use the check_c_compiler_flag()
macro provided by the CMake standard library.

This for example avoids using -fcf-protection on architectures that
don't support this option.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

(cherry picked from commit dd2d181755a6e642c0a8e3225ef5407fff49eb3a)

When resolving the conflict from applying the patch, I also took the liberty
of re-indenting the snippet correcly and fixing mismatching
HAS_FCF_PROTECTION and HAS_FSTACK_PROTECTOR_STRONG variables
(the conditionals used GCC_ prefix but the variables were definded without it).

Signed-off-by: Jan Tojnar <jtojnar@gmail.com>
2020-09-04 06:45:00 +02:00
Robin Mills
c85e504faf Disable libiconv support when building with Visual Studio. 2020-07-19 17:10:35 +01:00
clanmills
6d7a5266ea fix_1219_mingw_crw_date_0.27 2020-05-26 07:36:45 +01:00
Luis Díaz Más
9893d291b2 Prevent conflicts with uninstall target 2020-05-23 09:43:36 +02:00
Luis Díaz Más
6667e13c4b Only use __cplusplus trick from VS2017 2020-05-05 08:09:45 +02:00
clanmills
4511817028 MSVC Changes. Leave CMake to set /std:. Only set /Zc:__cplusplus for VS2019+. Updated README.md 2020-05-04 21:43:59 +01:00
Robin Mills
cd5512e761 WIP. C++11 support 2020-05-04 08:17:37 +01:00
clanmills
da91f04692 Don't report CMAKE_CXX_COMPILER - it's on the previous line of output. 2020-05-02 17:32:01 +01:00