You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

115 lines
4.5 KiB
Plaintext

Current Status
ToDo: * option cmakeBuild --webready is broken (Daniel to fix)
* look at the items listed below which we inherited from Gilles
Done: * working well on Unix systems (Linux, Mac, Cygwin, MinGW)
* Visual Studio (2005/8/10/12/13/15). See contrib/cmake/msvc/ReadMe.txt
* Support for out of source builds
* Add header files to MSVC UI for exiv2lib (and changed exiv2bin->exiv2 and exiv2->exiv2lib)
* Searching better for expat, zlib and iconv
* write FindLibexiv2.cmake (Thank you, Gilles)
* Builds and passes the test suite on 2005/32, 2008/64, Mac-Lion/64/Makefiles and Ubuntu/12.04/32bit
* Updated documentation (README-CMAKE)
Robin Mills
robin@clanmills.com
2015-11-29
Inherited from Gilles Caulier <caulier dot gilles at gmail dot com>:
* Review how samples are built: They should use the *installed* version
of libexiv2, not some temporary version in the src or build tree.
* Compare the cmake-built shared library with the configure-built version. Do they differ?
Ideally they are the same. If not, we should understand the differences exactly.
* Added cmake target to build/install doc.
* Added Cmake target to release build and packaging.
* Added 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
* Emacs M-c command to (re-)compile.
* Migrate the whole README-CMAKE to README.
-------------------------------------------------------------------------------------
DONE * Can the logic needed to build the doc be re-written using cmake?
=> Yes. We manage it with digiKam Doxygen documentation as well.
DONE * Is it possible to not have CMakeLists.txt file in the top dir?
=> No. It a deprecated solution from KitWare. I read more than one questions about this subject in devel forum.
DONE * Need soname versioning for shared library.
DONE * Add further messages to display option settings.
------------------------------------------------------------------
-- Exiv2 0.18-pre1 feature configuration summary
--
-- Build a shared library......... NO
-- PNG image support.............. YES
-- Native language support........ NO
gettext is required for native language support. Make sure the
gettext header files are installed. You can get gettext from
http://www.gnu.org/software/gettext/
-- Conversion of Windows XP tags.. YES
-- Nikon lens database............ YES
-- XMP metadata support........... YES
------------------------------------------------------------------
DONE * Add possibility to build xmp as a convenience library.
DONE * Compilation fails if Expat (possibly also other dependencies?) is in a non-standard place.
WONTFIX * This is probably not necessary in src/CMakeLists.txt / can be removed:
set( LIBEXIV2_SRC ${LIBEXIV2_SRC} getopt_win32.c )
it is necessary as both windows compilers do not autoexport
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'
with
[
_Ty=Exiv2::Value
]
DONE * Is the pkgconfig file not installed in MinGW? - it is now.
DONE * Added targets to build/install man page.
DONE * Need g++ specific : compiler options (warnings) and settings (visibility).
DONE * Manage eviv2.pc file with CMake, like it's do with kdegraphics/libs .pc file.
DONE * Manage eviv2.lsm file with CMake, like it's do with kdegraphics/libs .lsm file.
DONE * Added cmake target to uninstall Exiv2, based on KDE4 cmake script.
DONE * The following options of the configure script should be supported
--disable-shared => -ENABLE_SHARED_EXIV2
--disable-xmp => -ENABLE_XMP
--without-zlib => -ENABLE_PNG
--enable-commercial => -ENABLE_COMMERCIAL
--disable-lensdata => -ENABLE_LENSDATA
--disable-printucs2 => -ENABLE_PRINTUCS2
--enable-nls => -ENABLE_NLS
DONE * Cmake project: in root folder, common config in config sub-dir.
DONE * Manage samples sub-dir with CMake.
DONE * Rename configuration settings to EXIV2_*, e.g., EXIV2_ENABLE_SHARED.
DONE * Manage i18n extraction to generate .po files. (See http://www.cmake.org/pipermail/cmake/2009-July/031003.html)
Port extract-messages.sh to CMake
DONE * Add tests to check availability of msgmerge, xgettext, msgfmt programs.
INFO * Check How does cmake handle RPATH? (I'll read up on this).