v0.27.3
HumanDynamo 15 years ago
parent f3ba70613b
commit aa1175e103

@ -1,5 +1,6 @@
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
CMake scripts are experimental. Use them only if you're prepared to fix them. NOTE: CMake scripts still under developpement. Use them only if you're prepared
to fix them. Look TODO-CMAKE.txt for pending task. Thanks for your help.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Exiv2 uses cmake, a cross-platform build system, to control the Exiv2 uses cmake, a cross-platform build system, to control the
@ -58,27 +59,9 @@ b) Using the cmake GUI
ccmake ccmake
Dependencies Dependencies
============ ============
cmake itself cmake itself
migrate the rest here from README, test one by one migrate the rest here from README, test one by one
-----
Further TODOs:
* Rename configuration settings to EXIV2_*, e.g., EXIV2_ENABLE_SHARED
* Two cmake projects: 1) exiv2 2) samples, common config in config/
* Is it possible to not have CMakeLists.txt file in the top dir?
* --disable-visibility
* cross-compilation
* Release build and packaging scripts
* emacs M-c command to (re-)compile

@ -1,8 +1,8 @@
DONE * Need soname versioning for shared library * enable build types in cmake. In case required, add support for it
* Need g++ specific DONE compiler options (warnings) and settings (visibility) * Added cmake target to build/install doc.
* enable build types in cmake. In case required, add support for it * Added Cmake target to release build and packaging.
* The following options of the configure script should be supported * The following options of the configure script should be supported
--without-zlib DONE - ENABLE_PNG --without-zlib DONE - ENABLE_PNG
@ -13,7 +13,31 @@ DONE * Need soname versioning for shared library
--disable-lensdata DONE - ENABLE_LENSDATA --disable-lensdata DONE - ENABLE_LENSDATA
--disable-shared DONE - ENABLE_SHARED_EXIV2 --disable-shared DONE - ENABLE_SHARED_EXIV2
DONE * Add further messages to display option settings * add support for cross-compiling : add information on how to cross-compile on Linux for Windows (MinGW)
(some applications and my own release-build process need this) to the README.CMAKE
* Can the logic needed to build the doc be re-written using cmake?
* Manage i18n extraction to generate .po files. (See how KDE project manage it with script ?)
* Rename configuration settings to EXIV2_*, e.g., EXIV2_ENABLE_SHARED
* Two cmake projects: 1) exiv2 2) samples, common config in config/
* emacs M-c command to (re-)compile
* Manage eviv2.pc file with CMake, like it's do with kdegraphics/libs .pc file. Look there for details:
http://lxr.kde.org/source/KDE/kdegraphics/libs/libkexiv2/CMakeLists.txt#59
http://lxr.kde.org/source/KDE/kdegraphics/libs/libkexiv2/libkexiv2.pc.cmake
-------------------------------------------------------------------------------------
DONE * Is it possible to not have CMakeLists.txt file in the top dir?
=> No. I Never see this in whole KDE project.
DONE * Need soname versioning for shared library.
DONE * Add further messages to display option settings.
------------------------------------------------------------------ ------------------------------------------------------------------
-- Exiv2 0.18-pre1 feature configuration summary -- Exiv2 0.18-pre1 feature configuration summary
@ -31,29 +55,27 @@ DONE * Add further messages to display option settings
-- XMP metadata support........... YES -- XMP metadata support........... YES
------------------------------------------------------------------ ------------------------------------------------------------------
* Need targets to build/install doc, DONE man page DONE * add possibility to build xmp as a convenience library.
DONE * add possibility to build xmp as a convenience library
DONE * Compilation fails if Expat (possibly also other dependencies?) is in a DONE * Compilation fails if Expat (possibly also other dependencies?) is in a non-standard place.
non-standard place
WONTFIX * This is probably not necessary in src/CMakeLists.txt / can be removed: WONTFIX * This is probably not necessary in src/CMakeLists.txt / can be removed:
set( LIBEXIV2_SRC ${LIBEXIV2_SRC} getopt_win32.c ) set( LIBEXIV2_SRC ${LIBEXIV2_SRC} getopt_win32.c )
it is necessary as both windows compilers do not autoexport it is necessary as both windows compilers do not autoexport
DONE * Do we need to worry about MSVC warnings like this: DONE * Do we need to worry about MSVC warnings like this:
d:\home\ahuggel\msys\src\exiv2\src\exif.hpp(245) : warning C4251: 'Exiv2::Exifdatum::value_' : class 'std::auto_ptr<_Ty>' needs to have dll-interface to be used by clients of class 'Exiv2::Exifdatum' d:\home\ahuggel\msys\src\exiv2\src\exif.hpp(245) : warning C4251: 'Exiv2::Exifdatum::value_' : class 'std::auto_ptr<_Ty>'
needs to have dll-interface to be used by clients of class 'Exiv2::Exifdatum'
with with
[ [
_Ty=Exiv2::Value _Ty=Exiv2::Value
] ]
* add information on how to cross-compile on Linux for Windows (MinGW) (some applications and DONE * Is the pkgconfig file not installed in MinGW? - it is now.
my own release-build process need this) to the README.cmake
INFO * check How does cmake handle RPATH? (I'll read up on this) DONE * Added targets to build/install man page.
DONE * Is the pkgconfig file not installed in MinGW? - it is now DONE * Need g++ specific : compiler options (warnings) and settings (visibility).
INFO * check How does cmake handle RPATH? (I'll read up on this).
* Can the logic needed to build the doc be re-written using cmake?

Loading…
Cancel
Save