136 Commits (3c20cc06a9ede4e277a9efe94e211c20ceb0ce8d)

Author SHA1 Message Date
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