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