#1041. Download prebuilt openssl and updated documentation.

v0.27.3
Robin Mills 10 years ago
parent 3c6429dae2
commit 0539dbc96a

@ -8,12 +8,12 @@ How to use this
---------------
1 Setting up your machine
You need cmake.exe and svn.exe on your PATH.
Please get "Windows" versions of cmake and svn (NOT Cygwin versions)
You need a "Windows" version of perl.exe on the path to build openssl
You need cmake.exe, svn.exe, 7z.exe and curl.exe on your PATH.
Please get "Windows" versions of cmake etc (NOT Cygwin versions)
You should initialize the Visual Studio environment
using the version vcvars32.bat or vcvarsall.bat
using the version of vcvars32.bat or vcvarsall.bat
installed with Visual Studio. For example
call "C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\vcvars32.bat"
@ -21,7 +21,7 @@ How to use this
The batch file contrib\cmake\msvc\vcvars.bat is designed to take the pain
out of this - provided Visual Studio's installed in c:\Program Files (x86)
vcvars 2005 # sets 2005 x86
vcvars 2010 64 # sets 2010 x86_amd64
vcvars 2010_64 # sets 2010 x86_amd64
2 Always build "out of source". I recommend:
cd <exiv2dir>
@ -69,7 +69,13 @@ How to use this
rem download support libraries
svn export svn://dev.exiv2.org/svn/team/libraries/zlib-1.2.8
svn export svn://dev.exiv2.org/svn/team/libraries/expat-2.1.0
... for webready, you also need openssl-1.0.1j curl-7.39.0 libssh-0.5.5
...
for webready
you also need curl-7.45.0 libssh-0.7.2
you will have to install openssl for you compiler before building curl
see note below "About openssl"
...
rem create a temp directory and a dist (distribution) directory
mkdir temp # build, compile and link in this directory
@ -95,7 +101,27 @@ How to use this
cmake --build . --config Release
cmake --build . --config Release --target install
5 Build options
5 About openssl
You cannot build openssl with CMake. However we have prebuilt binaries which
you can download and extract into your build tree.
You will have to match the version to your compiler.
In this example: vs2015/64 bit
svn export svn://dev.exiv2.org/svn/team/libraries/openssl-1.0.1p-vs2015.7z
7z x openssl-1.0.1p-vs2015.7z
xcopy/yesihq openssl-1.0.1p-vs2015\bin64 dist\bin"
xcopy/yesihq openssl-1.0.1p-vs2015\lib64 dist\bin"
xcopy/yesihq openssl-1.0.1p-vs2015\include64 dist\include"
In this example: vs2008/32 bit
svn export svn://dev.exiv2.org/svn/team/libraries/openssl-1.0.1p-vs2008.7z
7z x openssl-1.0.1p-vs2015.7z
xcopy/yesihq openssl-1.0.1p-vs2008\bin dist\bin"
xcopy/yesihq openssl-1.0.1p-vs2008\lib dist\bin"
xcopy/yesihq openssl-1.0.1p-vs2008\include dist\include"
6 Build options
You can inspect CMake options by running grep OPTION on CMakeLists.txt in <exiv2dir>
C:\cygwin64\home\rmills\gnu\exiv2\build>cd ..\trunk
@ -119,10 +145,16 @@ How to use this
C:\cygwin64\home\rmills\gnu\exiv2\trunk>
6 Running the test suite
7 Running the test suite
http://dev.exiv2.org/projects/exiv2/wiki/How_do_I_run_the_test_suite_for_Exiv2
Status:
2015-11-19 "Work in Progress"
Added a dependency for 7z.exe to decompress archives.
Added downloading openssl
Updated documentation
2015-11-18 "Work in Progress"
Lots of simplification.
Removed need for cygwin.

@ -76,19 +76,25 @@ rem ----
call:echo setting CMake Generator
if /I "%VS_PROG_FILES%" == "Microsoft Visual Studio 14" (
set "VS_CMAKE=Visual Studio 14 2015"
set "VS_OPENSSL=vs2015"
) else if /I "%VS_PROG_FILES%" == "Microsoft Visual Studio 12" (
set "VS_CMAKE=Visual Studio 12 2013"
set "VS_OPENSSL=vs2013"
) else if /I "%VS_PROG_FILES%" == "Microsoft Visual Studio 11" (
set "VS_CMAKE=Visual Studio 11 2012"
set "VS_OPENSSL=vs2012"
) else if /I "%VS_PROG_FILES%" == "Microsoft Visual Studio 10" (
set "VS_CMAKE=Visual Studio 10 2010"
set "VS_OPENSSL=vs2010"
) else if /I "%VS_PROG_FILES%" == "Microsoft Visual Studio 9" (
set "VS_CMAKE=Visual Studio 9 2008"
set "VS_OPENSSL=vs2008"
) else if /I "%VS_PROG_FILES%" == "Microsoft Visual Studio 8" (
set "VS_CMAKE=Visual Studio 8 2005"
set "VS_OPENSSL=vs2005"
) else (
echo "*** Unsupported version of Visual Studio in '%VSINSTALLDIR%' ***"
GOTO error_end
echo "*** Unsupported version of Visual Studio in '%VSINSTALLDIR%' ***"
GOTO error_end
)
call:echo testing architecture
@ -128,7 +134,15 @@ rem ----
call:echo testing svn is on path
svn --version > NUL
IF ERRORLEVEL 1 (
echo "*** please ensure SVN.exe is on the PATH ***"
echo "*** please ensure svn.exe is on the PATH ***"
GOTO error_end
)
rem ----
call:echo testing 7z is on path
7z > NUL
IF ERRORLEVEL 1 (
echo "*** please ensure 7z.exe is on the PATH ***"
GOTO error_end
)
@ -182,7 +196,7 @@ set TARGET=
if DEFINED _WEBREADY_ (
echo ---------- building OPENSSL -----------------
call:buildLib %_OPENSSL_%
call:getOPENSSL %_OPENSSL_%
echo ---------- building CURL -----------------
set _CURL_=-DEXIV2_ENABLE_CURL=ON
@ -252,7 +266,7 @@ rem Functions
:help
echo Options: --help ^| --pause ^| --webready ^| --dryrun ^| --verbose ^| --rebuild ^| --silent ^| --verbose ^| --video
echo. --exiv2 directory ^| --temp directory ^| --config name ^| --generator generator
echo. --zlib zlib.1.2.8 ^| --expat expat-2.1.0 ^| --curl curl-7.39.0 ^| --libssh libssh-0.5.5 ^| --openssl openssl-1.0.1j
echo. --zlib zlib.1.2.8 ^| --expat expat-2.1.0 ^| --curl curl-7.45.0 ^| --libssh libssh-0.7.2 ^| --openssl openssl-1.0.1p
exit /b 0
:echo
@ -278,10 +292,17 @@ rem -----------------------------------------
cd "%_BUILDDIR_%"
set "LIB=%1%"
set "LIB_B=%_TEMP_%\%LIB%"
set "LIB_TAR=%LIB%.tar"
set "LIB_TAR_GZ=%LIB_TAR%.gz"
if defined _REBUILD_ rmdir/s/q "%LIB%" "%LIB_B%"
if defined _REBUILD_ del "%LIB_TAR%" "%LIB_TAR_GZ%"
IF NOT EXIST "%LIB_TAR_GZ%" svn export svn://dev.exiv2.org/svn/team/libraries/%LIB_TAR_GZ% >NUL
IF NOT EXIST "%LIB_TAR%" 7z x "%LIB_TAR_GZ%"
IF NOT EXIST "%LIB%" 7z x "%LIB_TAR%"
if NOT EXIST "%LIB_B%" mkdir "%LIB_B%"
if defined _REBUILD_ rmdir/s/q "%LIB%" "%LIB_B%"
IF NOT EXIST "%LIB%" svn export svn://dev.exiv2.org/svn/team/libraries/%LIB% >NUL
IF NOT EXIST "%LIB_B%" mkdir "%LIB_B%"
pushd "%LIB_B%"
call:run cmake -G "%_GENERATOR_%" ^
@ -307,5 +328,38 @@ pushd "%LIB_B%"
popd
exit /b 0
rem -----------------------------------------
:getOPENSSL
cd "%_BUILDDIR_%"
set "LIB=%1-%VS_OPENSSL%"
set "LIB_7Z=%LIB%.7z"
@echo on
if defined _REBUILD_ rmdir/s/q "%LIB%"
if defined _REBUILD_ del "%LIB_7Z%"
IF NOT EXIST "%LIB_7Z%" svn export svn://dev.exiv2.org/svn/team/libraries/%LIB_7Z% >NUL
IF NOT EXIST "%LIB%" 7z x "%LIB_7Z%" >nul
set BINARY=bin
set LIBRARY=lib
set INCLUDE=include
if /I "%Platform%" == "x64" (
set "BINARY=%BINARY%64"
set "LIBRARY=%LIBRARY%64"
set "INCLUDE=%INCLUDE%64"
)
xcopy/yesihq "%LIB%\%BINARY%" "%_INSTALL_%\bin"
xcopy/yesihq "%LIB%\%LIBRARY%" "%_INSTALL_%\lib"
xcopy/yesihq "%LIB%\%INCLUDE%" "%_INSTALL_%\include"
pause
@echo off
exit /b 0
rem That's all Folks!
rem -----------------------------------------

@ -3,9 +3,9 @@
if not defined _CONFIG_ SET _CONFIG_=Release
if NOT DEFINED _TEMP_ SET _TEMP_=temp
if NOT DEFINED _EXIV2_ SET _EXIV2_=..\trunk
if NOT DEFINED _CURL_ SET _CURL_=curl-7.39.0
if NOT DEFINED _LIBSSH_ SET _LIBSSH_=libssh-0.5.5
if NOT DEFINED _OPENSSL_ SET _OPENSSL_=openssl-1.0.1j
if NOT DEFINED _CURL_ SET _CURL_=curl-7.45.0
if NOT DEFINED _LIBSSH_ SET _LIBSSH_=libssh-0.7.2
if NOT DEFINED _OPENSSL_ SET _OPENSSL_=openssl-1.0.1p
if NOT DEFINED _ZLIB_ SET _ZLIB_=zlib-1.2.8
if NOT DEFINED _EXPAT_ SET _EXPAT_=expat-2.1.0

Loading…
Cancel
Save