263 Commits (aefd901befd375da7fdedfe031e818fcbc63dd67)

Author SHA1 Message Date
Luis Diaz Mas f7fb146389 Add EXIV2_TEAM_PACKAGING cmake variable to add CPack configuration 7 years ago
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.
7 years ago
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
7 years ago
Luis Díaz Más 155b1a5a6b CMake: Remove magic configuration about WEBREADY. Users will need to specify what to use. 7 years ago
Luis Díaz Más 5eb692d536 CPack: Add tweak number. Now packages include the tweak number in the name 7 years ago
Luis Díaz Más 085d8a309a Remove COMMERCIAL Cmake variable 7 years ago
Luis Díaz Más 5324ac8c0e Move CMake variables to the file where they are used 7 years ago
Luis Díaz Más 603692a1d8 Copyright to Exiv2 authors 7 years ago
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
7 years ago
Luis Díaz Más 0bfa0168df Cleanup some of the PACKAGE_XXX variables and rely in the ones given by the project() command 7 years ago
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
7 years ago
Luis Díaz Más 68f7c5e047 Use Cpack for generating the tarballs (TODO: document) 7 years ago
Luis Díaz Más dce05ac488 Remove occurrences of EXIV2_BUILDDIR and rely in EXIV2_BINDIR 7 years ago
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.
7 years ago
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
7 years ago
Luis Diaz Mas 6521f7c4f9 cmake: new option to enable compilations with coverage flags
Note that this will only work with gcc and clang.
7 years ago
AndreasMartin72 33c0416bc8 Bugfix for build error (Win7, msvc)
Ref: https://github.com/Exiv2/exiv2/issues/371#issuecomment-401319696
7 years ago
Dan Čermák 8393064416 Fix accidentally removed tests target 7 years ago
Luis Diaz Mas a3444f055e Rename config folder to cmake 7 years ago
Luis Diaz Mas 41bb15f7b7 Remove usage of CMAKE_DEBUG_POSTFIX
This option should be provided when calling to the cmake command.
Otherwise, we overwrite the value even when the user pass the value
in the command line.
7 years ago
Dan Čermák 653814afb0 [testsuite] Allow setting the binary location for make tests 7 years ago
Luis Diaz Mas 71638014a3 CMake: control doc generation with a new CMake option 7 years ago
Luis Díaz Más d9d2c2217a CMake: macro to generate documentation
We use now the Doxyfile.in template file with some variables that are
replaced at configuration time by absolute paths. Therefore, we can run
later the doxygen command with absolute paths from the
PROJECT_BINARY_DIR.

The CMake 'doc' target is added only if doxygen is available in the
system.
7 years ago
Luis Diaz Mas 5fa8f5aa87 CMake: minimum version bumped to 3.3.2 7 years ago
Luis Diaz Mas b590fa542a Disable 'embedded' XMP when EXIV2_ENABLE_EXTERNAL_XMP is enabled 7 years ago
Luis Diaz Mas 9586928d29 Add CMake code to handle external XMP
Experiment: Try with testing package
7 years ago
Luis Díaz Más c3629117d8 conan: Upgrade libcurl version
Thanks to this upgrade the cmake code that handles the CURL dependency
can be simplified. Now we can use the shared version of CURL in all the
platforms. However we will use for the moment the static version on Mac,
since we are having some issues with 'make tests'. Once those tests are
migrated to python we can also use the shared version there.
7 years ago
Luis Díaz Más cc7ff4122d Export all symbols when running unit tests. Add dummy test for private code.
I tried to use directly the private OBJECT library (exiv2lib_int) in the unit_tests targets, but the private objects have dependencies on the public symbols (circular dependency)
and therefore it is impossible to test the private code with that approach with the current design of the library.

Starting from CMake 3.3 we can use the variable CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS to export all the symbols of a shared library:
https://blog.kitware.com/create-dlls-on-windows-without-declspec-using-new-cmake-export-all-feature/

Even having the opportunity to use this variable (that will be only used when EXIV2_BUILD_UNIT_TESTS is enabled) the previous commits are still valid.
It is interesting to clearly differentiate between the public and private code of the library. Enforcing this, make us think twice before putting code in the public
part of the library.
8 years ago
Luis Díaz Más 4ad4323685 Add new CMake options to use compiler flags to detect issues in the code (Gcc, Clang & MSVC) 8 years ago
Andreas Sturmlechner 7f515e6da7
Add build switch to enable auto ccache
Make usage of ccache by build system opt-in.
8 years ago
Luis Díaz Más f9fab45163 (AppVeyor) Trying to run unit tests properly from windows 8 years ago
Pix4d 3f53588de7 (Travis) Should run tests on mac 8 years ago
Luis Díaz Más 26189ad287 (CMake) Add a new CMake option to enable the new Unit Tests 8 years ago
Luis Díaz Más cd38a570fa (CMake) Same output directories for binaries and libraries on all the platforms 8 years ago
Luis Diaz Mas 2784b1f7f7 Remove EXIV2_ENABLE_LIBXMP variable, always build static XMP library, remove cmake OBJECT library 8 years ago
Luis Díaz Más 0448415ff2 Remove useless HAVE_XMP_TOOLKIT 8 years ago
Luis Díaz Más 96bb10f38e Fix the default configuration CMake+Windows 8 years ago
Luis Díaz Más 8ad49f6d73 Robin changes in sync with master changes 8 years ago
clanmills 012d630125 Polish options. Move exv_conf.h to directory include/exiv2 8 years ago
Robin Mills d356aaae95 cmakeBuild.cmd --webready working with VS 2005 8 years ago
Robin Mills b9ccc70bcc Bug fixes in cmakeBuild.cmd. --config Debug works correctly. Documentation update. Remove 'u' postfix ABI incompatibility. 8 years ago
Robin Mills 60d436c969 Many changes to CMakeLists.txt and cmakeBuild.cmd to support unicode, static linking, passing shared library build flags. 8 years ago
Luis Díaz Más 31a51fda8a Replace EXIV2_ENABLE_SHARED by BUILD_SHARED_LIBS. Also use EXV_HAVE_DLL only for the exiv2lib target 8 years ago
Andreas Sturmlechner 20c7ad6c59 Lowercase include{,_directories} 8 years ago
Andreas Sturmlechner 1fc319c0e4 Lowercase add_custom_target, configure_file, install macros 8 years ago
Andreas Sturmlechner 40565761d1
Lowercase add_{definitions,subdirectory}, set{_*} and option macros 8 years ago
Andreas Sturmlechner 06b20523f7 Lowercase if/else/endif/foreach/endforeach 8 years ago
Luis Diaz Mas 8ba4281643 Set output directories for archives, libraries and runtime
This commit fix the problem with the test script.
8 years ago
Luis Diaz Mas 90e8ad8a72 Only set CMAKE_RUNTIME_OUTPUT_DIRECTORY once 8 years ago
Luis Díaz Más 6e506a2623 Define EXIV2_ENABLE_DYNAMIC_RUNTIME only once 8 years ago
Luis Díaz Más a2bb29011d Move compiler flags configuration to a new file (config/compilerFlags.cmake).
Also define the PSAPI_VERSION only for the exiv2lib target (It's not needed for the rest of targets)
8 years ago
Andreas Sturmlechner b81f493024 Add option to disable tools (currently exiv2 binary)
In a multiarch build, one may want to build binaries only for native arch.
8 years ago
Andreas Sturmlechner aa6374b202
Use more GNUInstallDirs
Conveniently fixes multiarch install dir issues.
8 years ago
Luis Diaz Mas 8dada35129 Remove unused cmake code 8 years ago
Luis Diaz Mas 69fb40fdc6 Simplify compiler info handling in CMake 8 years ago
Luis Diaz Mas d29b3b6a10 Remove CMake policy CMP0042. CMake 3.1 already support MACOSX_RPATH 8 years ago
Luis Díaz Más ee61c24459 Remove inclusion of many useless include_directories 8 years ago
Luis Diaz Mas 2d011691f2 Compile XMP sources as an OBJECT Library 8 years ago
Luis Diaz Mas b4a2b822c2 Remove usage of global variable INSTALL_TARGET_STANDARD_ARGS. Specify install destinitions in each target 8 years ago
Luis Díaz Más a6dbbebb12 Only compile the xmp static library if EXIV2_ENABLE_LIBXMP is enabled 8 years ago
Luis Díaz Más b6885c8028 Since we are requiring CMake 3.1 we can remove the usage of PRIVATE_VAR and use directly PRIVATE or PUBLIC 8 years ago
Luis Díaz Más df899bfbc3 exv_conf.h is now generated in the CMAKE_BINARY_DIR to not mess up the source tree. 8 years ago
Luis Diaz Mas 8c323cad04 Remove EXV_HAVE_STDINT_H definition that was causing warnings 8 years ago
Luis Diaz Mas 09fc98eebf Handle all the PACKAGE_XXX variables in the new cmake file 8 years ago
Luis Diaz Mas 13af648ee0 Handle correctly LIBINTL_H and NLS in the config.h.cmake file 8 years ago
Luis Diaz Mas ab6858df68 Add new mechanism to generate the exv_conf.h file from CMake. SSH variable 8 years ago
Luis Diaz Mas d12ee0ac26 Move cmake code to find dependencies into another file 8 years ago
Luis Diaz Mas 49153695f2 Move CMake summary messages to a different file 8 years ago
Fabian Vogt 04052ceb86 Do not use GCC_MINOR in CMakeLists.txt
"gcc -dumpversion" with GCC >= 7 only prints "7", thus GCC_MINOR is not defined.
That results in:

CMake Error at CMakeLists.txt:86 (list):
list index: 1 out of range (-1, 0)
8 years ago
clanmills e345110555 Removing obsolete code in CMakeLists.txt Adding version-test.sh to make tests 8 years ago
clanmills 290164d1b6 Work in progress: https://github.com/Exiv2/exiv2/issues/3
Tested on MacOS-X.  I'll test Linux/Cygwin/MSVC and close if good.
8 years ago
Bernd Kuhls 8af901ce05 cmake: always depend on threads, not only in the xmp case 8 years ago
Robin Mills 94b8285341 #1292 Fix submitted. 8 years ago
Robin Mills be0945016b #1269 Thank You to Ben for reporting this and providing the patch. 8 years ago
Robin Mills 284128723c #1279 Bump to Exiv2 v0.26 (and library version 15). 8 years ago
HumanDynamo fdfa212d8f this cmake option is duplicated 9 years ago
HumanDynamo 221315d2bb add support of MXE xrosscompiling for Windows, based on MinGW. 9 years ago
Robin Mills 7cb26f6b29 #1249 CMake fixes for clang 9 years ago
Robin Mills 6ea3b00b02 #1249 Fixes 9 years ago
Robin Mills f13033b5f4 #1230 CMake build fixes. 9 years ago
Robin Mills 383ca9ec1b #1230 and #1236 Buildserver maintenance. Work-in-progress fixes for CMake/MinGW32 9 years ago
Robin Mills 0abf56f71b #1236 CMake build on MinGW. 9 years ago
Robin Mills 30c87b5989 #1188 and #1109 Correction to r4530 and r4531 to fix cygwin build-breaker (gnu++98 required for snprintf support) 9 years ago
Robin Mills b45394b782 #1109 CMake changes for MinGW. I have not yet succeeded in get CMake/MinGW to work. 9 years ago
Robin Mills 57da10ff3c #1109 Rollback r4505 9 years ago
Robin Mills a9c8b1106a #1109 Last role of the dice to get CMake/MinGW to work together. 9 years ago
Robin Mills 3c1819a37f Fix CMake/MacOS-X Subversion_SVN_EXECUTABLE 9 years ago
Robin Mills 7adaf71d44 #1187 and #1041. Fixing CMake/Linux build breakers concerning libpthread 9 years ago
Robin Mills b12aca62cd #1041 get jenkins_daily.sh to work on Mac/Cygwin/MSVC/Linux and publish builds on userContent/builds { daily/weekly/monthly} 10 years ago
Robin Mills bb032fb6c7 #1041 Still struggling with the test suite 10 years ago
danielkaneider c90253bc3c [cmake] various msvc fixes 10 years ago
Robin Mills 85c6a7b109 #1041. Changes discussed with Daniel on Skype. 10 years ago
danielkaneider 993a3bd06b [cmake] added travis build file, fixes for osx and linux 10 years ago
danielkaneider bc7f864088 [cmake] updated build scripts 10 years ago
danielkaneider 5c7ecc6514 [cmake] add webready support and better cmake for windows 10 years ago
Robin Mills e3e4711190 #1125. Thank You to Michał for reporting and providing the patch. 10 years ago
Robin Mills 2582a756eb #1041 Thanks you to Emmanuel for the patch. Discussed here: http://dev.exiv2.org/boards/3/topics/2232 10 years ago
Andreas Huggel 4974ff976f Bumped version to 0.25. 10 years ago
danielkaneider a0aee652ab cmake: add curl support for windows 10 years ago
Robin Mills 5aec2c4957 #1069. Make video a build option (msvc/autotools/cmake). Default is not to build video or webready. 10 years ago
Robin Mills bac6b6e332 #1031 Thank You Daniel for the patch. This submission is on the trunk. 10 years ago
Robin Mills 950fcdc131 #1032. Thanks very much to Daniel for his help with this. 10 years ago
nkbj 71704eb90b Whitespace cleanup. 11 years ago
nkbj b8fd35dda7 Check for CMake policies before they are used to ensure compatibility with CMake 2.8.12. Set CMake 2.8.12 as minimum requirement. 11 years ago
Robin Mills d393b0fa7e trunk: exiv2 v0.25 11 years ago
Robin Mills cbdeb45387 Issue: 993. Thank you Daniel for the patch. Two changes to the patch are explained in the Issue Report. 11 years ago
Robin Mills 66e473db32 GSoC2013 Video Write Code. Thank You, Mahesh for a lot of hard work. And Thanks to Abhinav for mentoring. Great Job, Guys. 11 years ago
Robin Mills 5aa90f66ae #976 http://dev.exiv2.org/issues/976 Thank You, Nehal for both finding and fixing this. 11 years ago
Robin Mills 27080fe986 Fix CMake to execute the script src/svn_version.h (which generates the SVN support for Exiv2 -v -V).
Thanks to Mahesh for discovering this and letting me know.
11 years ago
Robin Mills dbb75ead90 Issue: 920. Do not enforce gcc compiler on Apple platforms for CMake builds. 12 years ago
Robin Mills b3fbf8655c Bumping the revision number to 0.24. Yeah! 12 years ago
Robin Mills 0cc197ad2d CMake build: simplification 12 years ago
Robin Mills 3f5e82bcc5 Issue:#905. Thank you Daniel for the patch. 12 years ago
Robin Mills a7d516b072 Patch: Forum Topic 1177. Thanks very much to James for providing this. 12 years ago
Robin Mills 85cbfc6f40 Forum Issue: 1364 Simplication. 13 years ago
Robin Mills f78485770c Forum #1364. Better CMake support for doing 'make doc' 13 years ago
Robin Mills c58081c017 doc: updated as reported in http://dev.exiv2.org/boards/3/topics/1364 Thanks to Benjamin for bringing this to our attention. 13 years ago
Robin Mills 10f21d249f Fix: #858. Download video data on demand. More discussion in issue report. 13 years ago
Robin Mills f5b05a5614 Post all executables to <exiv2-dir>/bin. Adjust test scripts accordingly. Added target make tests.
Thanks to Shawn for his input and help with this.
13 years ago
Robin Mills 7de8044ebf Added cygwin support for exiv2 -v -V (verbose Version) listing of libraries loaded at run-time. 13 years ago
Robin Mills e56fbdb12d Fix: Bug #857. Get CMake to compile with g++ instead of c++ (clang) compiler to eliminate warnings. 13 years ago
Robin Mills 4863c239c2 Fix. Issue: #856. Refactoring msvc/CMake code. Thanks to Daniel for this patch. 13 years ago
Robin Mills 6318d3d806 Fix. Issue: #853. More flexible way to detect and use existing Zlib libraries. Thanks Daniel for providing this patch. 13 years ago
Robin Mills aa93afda60 Issue#722. SVN:2890 http://dev.exiv2.org/projects/exiv2/repository/revisions/2890 13 years ago
Robin Mills 14aa8806d8 CMake/Cygwin fix. autotools generated src/exv_conf.h being used by cmake (instead of his own).
- Added file detector and error message to CMakeLists.txt
- Added code to src/Makefile to delete src/exv_conf with $ make clean
13 years ago
Robin Mills b77c25f3d4 Minor changes to CMake build. Restored building NLS support by default. 13 years ago
Robin Mills 67fe779212 MSVC/video port. Simplification of basicio.{hpp|cpp}. CMake updates to eliminate warnings in Cygwin. By default, don't build intl with CMake. 13 years ago
Robin Mills a7fecfde78 cmake work in progress 13 years ago
Robin Mills 6f769602ae cmake work in progress - see README-CMAKE and TODO-CMAKE for details 13 years ago
Robin Mills 7b49e908dc see TODO-CMAKE for details. work in progress update 13 years ago
Robin Mills a292d57fd8 Feature #536 Modifications to CMake files to support MSVC 32/64 bit builds of Dynamic/Static libraries and applications. 13 years ago
HumanDynamo faf00a6451 polish 13 years ago
HumanDynamo d3aaf04062 use dedicated licence file for CMake Script, as it done into KDE project. 13 years ago
Andreas Huggel 3a304fa0f0 Bumped version to 0.23 13 years ago
Andreas Huggel 1dd39bacc4 Added cmake patch to fix compilation on MSVC with KDE Windows (Ananta Palani) 13 years ago
Andreas Huggel e56387caba Updated version to 0.22. 14 years ago
Andreas Huggel af26439393 Merged r2448:2451 from branches/0.21.1 14 years ago
Robin Mills 20e09dd14a build: changes to README for Cygwin and MacOSX. Added buildForMac and change eol-style on config files. 15 years ago
Andreas Huggel 2c31d76566 Updated soversion. 15 years ago
HumanDynamo ff908547a5 fix typo in cmake script. patch from Nikolai Saoukh 15 years ago
HumanDynamo 9e3f031138 polish 15 years ago
Andreas Huggel fb9820d281 Bumped version to 0.21 to facilitate testing (soname remains unchanged for now). 15 years ago
HumanDynamo bb832790c6 no need depency. Fix error for VC under win32 15 years ago
Andreas Huggel 7a0f08f716 Bumped version to 0.20. 15 years ago
HumanDynamo 7e9c416fed set off by default 15 years ago
HumanDynamo 01ead35466 update 15 years ago
HumanDynamo 9cd84fda61 update 15 years ago
HumanDynamo 8f0da32dab missing macro 15 years ago
HumanDynamo c05265e5cf added new rules to manage translations file.
Code inspired from huggin project. 
This use a shell script. this one must be ported to CMake.
15 years ago
HumanDynamo b1d9fa570b polish 15 years ago