Commit Graph

190 Commits

Author SHA1 Message Date
Luis Diaz Mas
eca3eb711a Do not tread deprecation warnings as errors 2019-01-15 13:02:34 +01:00
Luis Diaz Mas
25bfeb4245 Print deprecation warning in CMake report 2019-01-15 13:01:23 +01:00
Luis Diaz Mas
0e02d46aa8 CMake: add mechanism to deprecate code 2019-01-14 18:52:25 +01:00
Luis Díaz Más
04c9b181cc Fix #644. Export specializations of BasicError
- Only export BasicError::setMsg which is the only implementation present in the .cpp
- Only export BasicError specialization on __APPLE__

It seems that gcc automatically adds the attribute when the visibility
settings are set to hidden. See this link for more information:
https://reviews.llvm.org/D35388
2019-01-12 17:10:14 +01:00
Luis Diaz Mas
e706cca190 Fixes in .pc file for being compatible with more distributions 2019-01-12 13:39:12 +01:00
Luis Diaz Mas
acc9fa012d Reliable detection of strerror_r variants 2019-01-06 23:59:40 +01:00
Andreas Schneider
ad95969a08 cmake: Use correct installation dir for generated docs
Fixes #623

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
(cherry picked from commit f8f63a8b4033549d47384c6e2b1972ae1a2775fc)
2019-01-05 13:08:49 +01:00
Robin Mills
38e2fb7ca7 Fix video/webready package name. 2018-12-09 18:54:40 +01:00
Robin Mills
6e14f4a3ba Fixing another typo! 2018-12-09 18:54:40 +01:00
Robin Mills
e7c9fc2d83 Fix typos is cmake/packaging.cmake 2018-12-09 18:54:40 +01:00
Robin Mills
97292aef66 Update packaging to respect Video, Webready and Edition of MSVC 2018-12-09 18:54:40 +01:00
Robin Mills
c32b413f74 Fix: https://github.com/Exiv2/exiv2/issues/575 2018-12-09 18:54:40 +01:00
Robin Mills
d8a15e1d13 Do not put "Clang" in the Darwin build bundle name. 2018-11-30 14:18:17 +01:00
Robin Mills
2ba7866f22 Restore cpack_source_generator 2018-11-30 14:18:17 +01:00
Robin Mills
cb5f0f29db Change how packaging detects Clang. 2018-11-30 14:18:17 +01:00
Robin Mills
5e75f51fde Correction to previous commit. 2018-11-30 14:18:17 +01:00
Robin Mills
985d0492e2 Updating packaging for clang: Platform[{64|32}][Clang][Static][Debug] 2018-11-30 14:18:17 +01:00
Robin Mills
b944b2ace7 packaging cleanup 2018-11-30 14:18:17 +01:00
Robin Mills
f97c38d44a Change package names Platform{64|32}[Static][Debug] 2018-11-30 14:18:17 +01:00
Robin Mills
045af8ea36 add logs to the build bundle 2018-11-30 14:18:17 +01:00
Robin Mills
a18c24249a Add packaging changes for CYGWIN64/CYGWIN32 and Linux32 2018-11-30 14:18:17 +01:00
Robin Mills
6f437bcc0a Add cmake/msvc_conan_profiles 2018-11-30 14:18:17 +01:00
Luis Díaz Más
f92030d650 CMake: remove XMPSRC variable. 2018-11-26 15:23:30 +01:00
Luis Diaz Mas
3f2e0de0db Print CMAKE_BUILD_TYPE after configuring the project 2018-11-22 18:19:08 +01:00
Luis Díaz Más
186352e295 conan: copy 3rd party dlls only if the conanDlls folder exists
Note that this folder will only exists if at least one of the conan packages managed with the shared option = True.
2018-11-20 22:02:05 +01:00
Luis Díaz Más
91a6e79d5c CMake: Use cmake_dependent_option for EXIV2_ENABLE_NLS 2018-11-16 17:23:47 +01:00
Robin Mills
e66c832008 Exiv2 v0.27.0.2 Documentation updates for localisation. 2018-11-16 17:23:47 +01:00
Robin Mills
9255fc2b4e Doxyfile.in and website/doxygen/Doxyfile have been rationalised/simplified.
website/doxgen/Doxyfile is copied from cmake/Doxyfile.in and patched to deliver website look'n'feel.
website is stored in svn://dev.exiv2.org/svn/team/website
2018-11-16 17:23:47 +01:00
Robin Mills
906870e514 Do not store test/tmp in package_source. 2018-11-16 17:23:47 +01:00
Robin Mills
5486106ed5 Change MinGW package name from MinGW-64 to MinGW64 (and MinGW-32 to MinGW32) 2018-11-16 17:23:47 +01:00
Robin Mills
99ca43aa11 Ignore packages when generating a source package. 2018-11-16 17:23:47 +01:00
Robin Mills
4bb18a32ff Use cmake option -DEXIV2_TEAM_PACKAGING 2018-11-16 17:23:47 +01:00
Robin Mills
dd030fc639 Fix FreeBSD to copy releasenotes/Linux/ReadMe.txt (#497) 2018-11-16 17:23:47 +01:00
Luis Diaz Mas
d6c6d469a9 CMake: Use add_definitions instead of add_compile_definitions 2018-11-16 12:10:11 +01:00
Luis Díaz Más
9980107586 Only include zlib directory when building the exiv2lib 2018-11-14 19:53:59 +01:00
Luis Díaz Más
4d47b08a16 CMake: Move gtest finding to unitTests folder 2018-11-14 19:53:59 +01:00
Luis Díaz Más
38b60a3e8e CMake: Simplify Intl finding 2018-11-13 20:12:58 +01:00
Luis Díaz Más
b91c0a8898 resolve #536 2018-11-13 20:12:58 +01:00
Luis Díaz Más
38ed6de05d MSVC: Move compile definitions from config.h to CMake.
+ Also remove inclusion of <Windows.h> from config.h
2018-11-11 12:27:26 +01:00
Luis Díaz Más
3009cc4c0c Fix definition of EXV_ENABLE_NLS 2018-11-11 12:27:26 +01:00
Luis Díaz Más
307cb27d31 Move find_package(MSGFMT) to po/CMakeLists.txt.
We do not want to find the package unless the PO option is enabled.
2018-11-11 12:27:26 +01:00
Luis Díaz Más
274ef04f7e CMake: Proper way to require c++98 standard 2018-11-08 17:26:02 +01:00
Luis Díaz Más
244f00bf3a CMake: Do not add conan global compiler flags
+ Add conan-gtest compile definitions for the unit_tests target
2018-11-06 08:02:33 +01:00
Luis Díaz Más
09ad415f1f CMake: Define PROJECT_DESCRIPTION 2018-11-03 09:37:32 +01:00
Luis Díaz Más
46e6ced607 pkg-config file - paths depending on + Fix version 2018-11-03 09:37:32 +01:00
Luis Diaz Mas
f9389c4f1c Rename exiv2.pc.cmake to exiv2.pc.in 2018-11-01 22:20:27 +01:00
Robin Mills
b608ad9fdd Restore exiv2.pc in the mix (#497) 2018-11-01 22:20:27 +01:00
Luis Diaz Mas
611d6c7bbc CMake: Move uninstall code to mainSetup 2018-10-30 15:26:23 +01:00
Robin Mills
33032bed8c Changes in build.sh
Fixes while debugging build.sh and the CPack targets
2018-10-26 17:47:15 +02:00
Robin Mills
b953af18ea Only copy samples/exifprint to package + Create source package from build.sh 2018-10-26 17:47:15 +02:00
Robin Mills
cbb42b25e3 Restore copying samples directory. 2018-10-26 17:47:15 +02:00
Robin Mills
5963b9517f Only copy samples/exifprint.cpp to package 2018-10-26 17:47:15 +02:00
Robin Mills
40ff9b8423 Remove exiv2.pc from mix 2018-10-26 17:47:15 +02:00
Robin Mills
79ef0f0102 Fix error in packaging.cmake relating to file ReadMe.txt 2018-10-26 17:47:15 +02:00
Robin Mills
4a7a4fdb3e Change package name for MinGW/32 2018-10-26 17:47:15 +02:00
Robin Mills
87278e6be3 MSYS2/MinGW: Disable Regex 2018-10-26 17:47:15 +02:00
Robin Mills
42084f2563 Add support for MinGW/msys2 in 32 bits + Updates in buildserver 2018-10-26 17:47:15 +02:00
Robin Mills
2b0ebd12ca Release documentation and Documentation updates. 2018-10-26 17:47:15 +02:00
Robin Mills
5f6ef65695 Update PROJECT_VERSION & add install() commands for CPack
- Version updated to 0.27.0.1.
- Release notes for MacOS-X Package, Linux, CYGWIN, win64 and msvc
- Redmine Release Notes Updated.
2018-10-26 17:47:15 +02:00
Luis Díaz Más
dc086d2ebb Default to /MD(d) even for STATIC builds.
We had issues to compile exiv2 due to a undefined symbol referenced in expat.lib (Explained in #487).
Static builds in Windows need to use msvcrt.lib where the missing symbol ("__imp__mbspbrk") was
defined. We can still decide to use the STATIC CRT  library by using:

cmake -DBUILD_SHARED_LIBS=OFF -DEXIV2_ENABLE_DYNAMIC_RUNTIME=OFF
2018-10-17 13:05:23 +02:00
Luis Díaz Más
155b1a5a6b CMake: Remove magic configuration about WEBREADY. Users will need to specify what to use. 2018-10-16 17:09:17 +02:00
Gilles Caulier
af44cec65f Detect Regex lib with cmake instead of pkg_config 2018-10-10 11:47:11 +02:00
Luis Díaz Más
6ba4081f95 Use CMake-GenerateExportHeader to generate a macro to export symbols
- Delete the hardcoded macros in config.h taking care of that.
2018-09-14 13:20:08 +02:00
Luis Díaz Más
b78d85c9bb Set default visibility to hidden 2018-09-14 13:20:08 +02:00
Luis Díaz Más
d46f7a8746 Remove deprecated stuff from config.h.cmake 2018-09-14 07:43:21 +02:00
Luis Díaz Más
808de65c37 Use CMake PROJECT_VERSION components in version files 2018-09-14 07:43:21 +02:00
Luis Díaz Más
5eb692d536 CPack: Add tweak number. Now packages include the tweak number in the name 2018-09-14 07:43:21 +02:00
Luis Díaz Más
f06b69fa56 CPack: ignore files for generating the sources tarball 2018-09-12 19:22:31 +02:00
Luis Díaz Más
085d8a309a Remove COMMERCIAL Cmake variable 2018-09-12 19:22:31 +02:00
Luis Díaz Más
48e0b1d0c1 Remove obsolete lsm file 2018-09-12 19:22:31 +02:00
Luis Díaz Más
a6d82633c3 Enable WARNINGS_AS_ERRORS in CI jobs.
- Move the settings to other cmake file. This will not be used for XMP code
- Disable WARNINGS_AS_ERRORS for VS2008 and VS2010
2018-09-12 19:22:31 +02:00
Luis Díaz Más
18ded9ccf3 Use static version of libcurl.
Note that this will simplify the packaging/deployment
2018-09-12 19:22:31 +02:00
Luis Díaz Más
f47b0546ac Make clear separation between linker and compiler flags 2018-09-12 19:22:31 +02:00
Luis Díaz Más
0bfa0168df Cleanup some of the PACKAGE_XXX variables and rely in the ones given by the project() command 2018-09-12 19:22:31 +02:00
Luis Díaz Más
14ab688b7f Provide more CPack variables 2018-09-12 19:22:31 +02:00
Luis Díaz Más
b2b04fe2d6 Use project() command to provide project version
- Note that we cannot find libiconv without saying that Exiv2 is also a C project
2018-09-12 19:22:31 +02:00
Luis Díaz Más
68f7c5e047 Use Cpack for generating the tarballs (TODO: document) 2018-09-12 19:22:31 +02:00
Luis Díaz Más
dce05ac488 Remove occurrences of EXIV2_BUILDDIR and rely in EXIV2_BINDIR 2018-09-11 06:54:44 +02:00
Luis Díaz Más
24be5a514e [Appveyor] Build exiv2 with Visual Studio 2012 and 2013
- Integration tests had to be disabled with 2012 and 2013. There were
few (4) tests failing for these cases.
- Only bring libiconv with conan when a windows subsystem is detected.
- libiconv can be enabled now with a conan option.
- Use infinity instead of INFINITY
- Use conan_basic_setup(). Fixes a problem with gtest is VS2012
- call vcvarsall.bat for each compiler version so that nmake can be
found.
2018-09-10 10:31:00 +02:00
clanmills
3c42fdddeb Fix include <exiv2/exiv2.hpp> to include exiv2/config.h (and consequential changes)
Fix cltest.cpp and version.cpp to report MSVC 2017 in which _MSC_VER == 1910
2018-09-01 20:19:45 +02:00
Hombre
a226d6a650 Fixing typo in cmakefiles and removing REGEX dependencie for Cygwin 2018-08-31 08:31:20 +02:00
Hombre
28da26f174 Adding MINGW32 toolchain support 2018-08-31 08:31:20 +02:00
Dan Čermák
10929cec7a [CMake] Add EXIV2_TEAM_USE_SANITIZERS option
Setting this option enables address sanitizer and undefined behavior
sanitizer, when available for the given compiler & platform.
It does not currently check whether the architecture is supported,
as CMake does not offer an easy way how to check it. Since we are
mostly developing for x86 & amd64 this is not a huge problem and it's
also a developer only setting.
2018-08-27 17:22:33 +02:00
Luis Diaz Mas
a9c9451588 Remove localtime.c and any other trick to handle timegm 2018-08-27 13:33:02 +02:00
Luis Diaz Mas
17ad919ec2 CMake: Add RPATH configuration for Linux/Solaris
Note that this RPATH setup is following a recommendation from the CMake
documentation:
https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/RPATH-handling#recommendations
2018-08-17 10:28:08 +02:00
Luis Diaz Mas
6521f7c4f9 cmake: new option to enable compilations with coverage flags
Note that this will only work with gcc and clang.
2018-07-31 23:43:46 +02:00
Luis Díaz Más
5eee072089 Enable clcache usage and use it in appveyor
* [appveyor] Install clcache with nuget
* [appveyor] Keep clcache in the appveyor jobs
* [appveyor] Print clcache stats after compiling the project
* Use CLCACHE_PATH env variable to find clcache
2018-07-30 21:31:23 +02:00
Luis Díaz Más
bb9ce23e76 Set EXV_HAVE_XMP_TOOLKIT correctly. set() does not accept logical operators 2018-07-09 22:17:47 +02:00
Luis Diaz Mas
0d6abb5b51 Remove leftovers from autotools and .gitignore 2018-06-08 14:04:25 +02:00
Luis Diaz Mas
a3444f055e Rename config folder to cmake 2018-06-08 14:04:25 +02:00