Documentation Update.

v0.27.3
clanmills 8 years ago
parent c07e4fad65
commit eef3963dc7

@ -1,4 +1,4 @@
@@@Marco@@@@@b ;mm /##Gilles###\ @@@Luis@@@@@@b ;mm /##Michal####\
j@@@#Robin", Brad /@@@Thomas@@@@Q j@@@#Robin", Brad /@@@Thomas@@@@Q
@@@# \ ## @@@b |@@@b @@@# \ ## @@@b |@@@b
@@@# .;;;;, ,;;;, ,;;;; ,;;;p .;;; 7@@ ]Alan @@@# .;;;;, ,;;;, ,;;;; ,;;;p .;;; 7@@ ]Alan
@ -9,7 +9,7 @@
@@@# ,@@##@@m @@@b @@@p @@C #@@#C @@@# ,@@##@@m @@@b @@@p @@C #@@#C
@@@# ,/ s@@# @@@@ @@@b Volker @Tuan@ @@@# ,/ s@@# @@@@ @@@b Volker @Tuan@
]@@@Abhinav@@\ /@@@\ \@@@Q @@@Q %@@@# /@@@@Mahesh@@# ]@@@Abhinav@@\ /@@@\ \@@@Q @@@Q %@@@# /@@@@Mahesh@@#
/@@Raphael@@@@@\ /@@@@@\ C++ Metadata Library /@Sridhar@@@v0.26\ /@@Raphael@@@@@\ /@@@@@\ C++ Metadata Library /@Sridhar@@@v0.26.1\
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
CMake is a cross-platform build system, to control the CMake is a cross-platform build system, to control the
@ -18,22 +18,19 @@ compilation process using platform/compiler independent configuration files.
STATUS: STATUS:
* CMake scripts are functional and used to perform the daily build on the buildserver * CMake scripts are functional and used to perform the daily build on the buildserver
for MacOS-X, Cygwin, Linux and Visual Studio (2005, 8, 10, 12, 13 and 15) for MacOS-X, Cygwin, Linux and Visual Studio (2005, 8, 10, 12, 13, 15 and 17)
The daily build on MinGW/32 is performed using autotools for Qt/Windows Users.
* The existing automake (./configure) is currently still be supported by exiv2. * The existing automake (./configure) is currently still be supported by exiv2.
There are plans to adopt CMake as the only build platform and drop the automake The long term plan is to adopt CMake as the only build platform.
code and the existing Visual Studio Solutions. automake and msvc solutions/project are likely to removed with Exiv2 v0.27
* Team Exiv2 no longer provide support for MinGW (with/without CMake) * Team Exiv2 no longer provide support for MinGW (with/without CMake)
Exiv2 is very difficult to build on MinGW with CMake. Exiv2 is very difficult to build on MinGW with CMake.
This is discussed in TODO-CMAKE This is discussed in TODO-CMAKE
Robin Mills
robin@clanmills.com
Luis Díaz Más Luis Díaz Más
piponazo@gmail.com piponazo@gmail.com
2017-01-09 2017-09-10
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
@ -62,11 +59,12 @@ There are some global CMake options that you can use in Exiv2 :
"profile". "profile".
"relwithdebinfo" : default. use gcc -O2 -g options. "relwithdebinfo" : default. use gcc -O2 -g options.
"Release" : generate stripped and optimized bin files. For packaging. "Release" : generate stripped and optimized bin files. For packaging.
-DBUILD_SHARED_LIBS=1 : Build DLL (=0 for static library)
For knowing more about the specific Exiv2 CMake options, look into the main CMakeLists.txt file. More information about Exiv2 CMake options in <exiv2dir>/CMakeLists.txt
2 Building and Installing on UNIX-like systems 2 Building and Installing on UNIX-like systems
================================== ==============================================
This process covers MacOS-X, Linux and Cygwin. This process covers MacOS-X, Linux and Cygwin.
@ -76,13 +74,13 @@ file) to configure, build and install the library and utilities:
$ mkdir build && cd build $ mkdir build && cd build
$ cmake .. or cmake-gui .. $ cmake .. or cmake-gui ..
$ make -j $ make -j
$ make install $ (sudo) make install
Note that the CMake generator used by default on Unix is : 'Makefiles'. However you can chose others like 'Ninja' Note that the CMake generator used by default on Unix is : 'Makefiles'. However you can chose others like 'Ninja'
To uninstall Exiv2, run: To uninstall Exiv2, run:
$ make uninstall $ (sudo) make uninstall
3 Building and installing for Visual Studio Users 3 Building and installing for Visual Studio Users
================================================= =================================================
@ -90,8 +88,7 @@ To uninstall Exiv2, run:
exiv2 provides three build environment for users of Visual Studio: exiv2 provides three build environment for users of Visual Studio:
cmake: This environment cmake: This environment
msvc: 32 bit AND 64 bit build environment for MSVC 2005 and later (2005/2008/10/12/13/15) msvc: 32 bit AND 64 bit build environment for MSVC 2005 and later (2005/2008/10/12/13/15/17)
msvc2003: 32 bit build environment for MSVC 2003 (deprecated after v0.26)
CMake doesn't build code. It generates build environments. CMake doesn't build code. It generates build environments.
CMake is a language for describing builds and the CMake interpreter generates CMake is a language for describing builds and the CMake interpreter generates
@ -107,7 +104,11 @@ The current architecture of CMake requires you to decide before running cmake:
We have two contributed CMake Build Environments: We have two contributed CMake Build Environments:
1 contrib/cmake/msvc 1 contrib/cmake/msvc
Please read contrib/cmake/msvc/ReadMe.txt The following command will build Exiv2 and dependencies:
c:\exiv2dir\contrib\cmake\msvc> cmd /c "vcvars 2017 64 && cmakeBuild --build --samples"
Please read contrib/cmake/msvc/ReadMe.txt for more information.
2 contrib/build/msvc 2 contrib/build/msvc
@ -124,9 +125,9 @@ We have two contributed CMake Build Environments:
Exiv2 should be packaged in the dist directory with all the .lib, include and binary files you need. Exiv2 should be packaged in the dist directory with all the .lib, include and binary files you need.
3 Running CMake commands manually from command line (new) 3 Running CMake commands manually from command line (new)
From Exiv2 0.26.0 to 0.26.1 the CMake code of the project was cleaned and now it is possible to configure From Exiv2 0.26.0 to 0.26.1 the CMake code of the project was rewritten and now it is possible to configure
project from the command line as we do in the Unix sytems. As in the UNIX case, we can run the following project from the command line as we do in the Unix sytems. As in the UNIX case, we can run the following
commands from the top directory to configure, build and install the library and utilities: commands from the top directory to configure, build and install the library and utilities:
@ -142,21 +143,21 @@ We have two contributed CMake Build Environments:
points at the compiler and other resources relevant to that version of the compiler. However in Visual Studio points at the compiler and other resources relevant to that version of the compiler. However in Visual Studio
2017, they do not do that anymore. 2017, they do not do that anymore.
What we recommend is to call the vcvarsall.bat Visual Studio configuration script before running CMake. We recommend you to call the vcvarsall.bat Visual Studio configuration script before running CMake.
For example, with Visual Studio 2017 installed on your system, you will need to run For example, with Visual Studio 2017 installed on your system, you will need to run
$ call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" c:\exiv2dir> call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
Afterwards, CMake will identify correctly your Build Tools. Afterwards, CMake will identify correctly your Build Tools.
It is also important to note that the default CMake configuration assume the existence of some libraries It is also important to note that the default CMake configuration assumes the existence of some libraries
in your system. If they are not available, the configuration will fail. It is possible to disable some in your system. If they are not available, the configuration will fail. It is possible to disable some
features, or provide the paths to the INCLUDE folders, or libraries, at the moment of calling CMake the features, or provide the paths to the INCLUDE folders, or libraries, at the moment of calling CMake the
first time. first time.
In this example, we disable the NLS and PNG support, and we specify the path where we have the EXPAT library: In this example, we disable the NLS and PNG support, and we specify the path where we have the EXPAT library:
$ cmake -DEXIV2_ENABLE_NLS=OFF -DEXIV2_ENABLE_PNG=OFF -DCMAKE_PREFIX_PATH="C:\pathToExpat\ ../ c:\exiv2dir> cmake -DEXIV2_ENABLE_NLS=OFF -DEXIV2_ENABLE_PNG=OFF -DCMAKE_PREFIX_PATH="C:\pathToExpat\ ../
CMake Generators CMake Generators
---------------- ----------------
@ -179,8 +180,8 @@ We have two contributed CMake Build Environments:
It is possible to use CMake/MinGW if you put in some effort. This is documented in TODO-CMAKE. It is possible to use CMake/MinGW if you put in some effort. This is documented in TODO-CMAKE.
5 Using conan from bringing project dependencies 5 Using conan to build exiv2 and project dependencies
========================================= =====================================================
Conan is a portable package manager for c++ (https://www.conan.io/). We added the option to use it Conan is a portable package manager for c++ (https://www.conan.io/). We added the option to use it
in Exiv2 so you can get all the Exiv2 dependencies (Expat, Zlib, Libcurl, Libssh) in a very easy in Exiv2 so you can get all the Exiv2 dependencies (Expat, Zlib, Libcurl, Libssh) in a very easy
@ -214,8 +215,8 @@ To compile the dependencies from sources you will need to run the conan install
$ conan install ../ --profile clang --build missing $ conan install ../ --profile clang --build missing
To learn more about Conan, please visit their documentation page: http://docs.conan.io/en/latest/ To learn more about Conan, please visit their documentation page:
http://docs.conan.io/en/latest/
# That's all Folks # That's all Folks
## ##

Loading…
Cancel
Save