diff --git a/README-CMAKE b/README-CMAKE index 6e725950..319883ab 100644 --- a/README-CMAKE +++ b/README-CMAKE @@ -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 @@ -58,27 +59,9 @@ b) Using the cmake GUI ccmake - - - Dependencies ============ cmake itself 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 diff --git a/TODO-CMAKE.txt b/TODO-CMAKE.txt index 487c99bc..53f33fed 100644 --- a/TODO-CMAKE.txt +++ b/TODO-CMAKE.txt @@ -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 --without-zlib DONE - ENABLE_PNG @@ -13,7 +13,31 @@ DONE * Need soname versioning for shared library --disable-lensdata DONE - ENABLE_LENSDATA --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 @@ -25,35 +49,33 @@ DONE * Add further messages to display option settings 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 ------------------------------------------------------------------ -* 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 - non-standard place +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 - ] + 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 + ] -* 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 +DONE * Is the pkgconfig file not installed in MinGW? - it is now. -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?