#1041. Fixed --webready. Hip hip hip, hurrah for me. Documentation Update.

This commit is contained in:
Robin Mills
2015-12-05 20:20:40 +00:00
parent cf927ed2c8
commit d0f26e17af
4 changed files with 33 additions and 21 deletions
+24 -12
View File
@@ -30,7 +30,7 @@ How to use this
build --help
You should never have reason to modify the code in cmakeBuild.cmd
You may wish to change the defaults in setenv.cmd
You may wish to change the defaults in cmakeDefaults.cmd
You can change the defaults on the command-line (or modify cmakeDefaults.cmd)
You can also change defaults using the dos set command. For example:
set _CONFIG_=Debug
@@ -48,9 +48,16 @@ How to use this
3 What gets built?
The build is performed in build\temp
The output is generated in build\dist
build\dist\bin contains *.exe and *.dll files
build\dist\lib contains *.lib files
build\dist\include contains *.h and *.hpp files
build\dist\..mumble..\bin contains *.exe and *.dll files
build\dist\..mumble..\lib contains *.lib files
build\dist\..mumble..\include contains *.h and *.hpp files
mumble identifies the compiler and build.
Example C:\gnu\exiv2\build\dist\2013\x64\dll\Release\bin
2013 = Visual Studio Choices: 2005/2008/2010/2012/2013/2015
x64 = 64 bit build 32/64
dll = shared library dll/static
Release = configuration Release/Debug/RelWithDebInfo/MinSizeRel
4 Building manually with CMake
The cmake option -G Generator should be chosen for the version of Visual Studio installed.
@@ -98,7 +105,7 @@ How to use this
cmake --build . --config Release
cmake --build . --config Release --target install
5 About openssl
5 About openssl and curl
You cannot build openssl with CMake. However we have prebuilt binaries which
you can download and extract into your build tree.
@@ -117,6 +124,12 @@ How to use this
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"
curl does not seem to build with CMake.
It announces itself "the curl cmake build system is poorly maintained. Be aware"
I have given up trying to get this to work and used nmake in the winbuild directory.
For more information, read: winbuild\BUILD.WINDOWS.txt
6 Build options
You can inspect CMake options by running grep OPTION on CMakeLists.txt in <exiv2dir>
@@ -151,7 +164,7 @@ How to use this
8 Building with different libraries
You can change the standard libraries. For example, to build with curl-7.39.0
1) set _CURL_=curl-7.39.0
2) put curl-7.39.0.tar.gz into your build directory
2) put (read-only) curl-7.39.0.tar.gz in your build directory
To change the version of openssl:
1) set _OPENSSL_=openssl-1.0.1j
@@ -162,17 +175,16 @@ How to use this
Building this with Visual Studio is to to be documented
9 Rebuilding with VS 2005/8/10/12/13/15 32/64
The script cmakeRebuildAll.cmd is provided for convenience:
cmakeRebuildAll.cmd > rebuildAll.txt
The script cmakeBuildAll.cmd is provided for convenience:
cmakeBuildAll.cmd --test > rebuildAll.txt
To view progress, open another shell: tail -f rebuildAll.txt
cmakeRebuildAll.cmd takes about a hour.
cmakeBuildAll.cmd takes about a hour if you don't specify --webready
12 build+test cycles of about 5 minutes each.
TODO:
--webready isn't working (Daniel to fix)
With webready, 12 build+test cycles of 12 minutes = 2.5 hours
Status:
2015-12-05 Fixed --webready
2015-11-28 Added option -static
Build into: dist/2005/x64/dll/Release/{lib|bin|include}
+8 -6
View File
@@ -237,7 +237,6 @@ echo.&&echo.&&echo.
if defined _WEBREADY_ (
if /I "%_VS_%" == "2005" set "_UNSUPPORTED_=openssl not available for VS 2005"
if /I "%_VS_%" == "2015" set "_UNSUPPORTED_=libssh and libcurl do not build for VS2015"
)
if defined _UNSUPPORTED_ (
@@ -260,12 +259,16 @@ set _TARGET_=
if DEFINED _WEBREADY_ (
echo ---------- OPENSSL installing pre-built binaries -----------------
call:getOPENSSL %_OPENSSL_%
if errorlevel 1 set _OPENSSL_=
if errorlevel 1 set _OPENSSL_= && set _WEBREADY_=
)
if DEFINED _WEBREADY_ (
echo ---------- LIBSSH building with cmake -----------------
call:buildLib %_LIBSSH_% -DCMAKE_INSTALL_PREFIX=%_INSTALL_% -DCMAKE_LIBRARY_PATH=%_LIBPATH_% -DCMAKE_INCLUDE_PATH=%_INCPATH_% -DWITH_GSSAPI=OFF -DWITH_ZLIB=ON -DWITH_SFTP=ON -DWITH_SERVER=OFF -DWITH_EXAMPLES=OFF -DWITH_NACL=OFF -DWITH_PCAP=OFF
if errorlevel 1 set _LIBSSH_=
if errorlevel 1 set _LIBSSH_= && set _WEBREADY_=
)
if DEFINED _WEBREADY_ (
set CURL_CMAKE=
if DEFINED CURL_CMAKE (
echo ---------- CURL building with cmake -----------------
@@ -286,11 +289,10 @@ if DEFINED _WEBREADY_ (
xcopy/yesihq builds\libcurl-vc%_VC_%-%RawPlatform%-release-dll-ssl-dll-zlib-dll-ipv6-sspi\include\curl "%_INCPATH_%"\curl
popd
)
) else (
set _CURL_=
set _LIBSSH_=
)
if NOT DEFINED _WEBREADY_ set _CURL_= && set _LIBSSH_=
echo ---------- EXIV2 building with cmake ------------------
set "EXIV_B=%_TEMP_%\exiv2"
if defined _REBUILD_ IF EXIST "%EXIV_B%" rmdir/s/q "%EXIV_B%"
+1
View File
@@ -0,0 +1 @@
for %%a in (64 32) do for %%v in (2015 2013 2012 2010 2008 2005) do cmd /c "vcvars %%v %%a && cmakeBuild %* 2>&1"
-3
View File
@@ -1,3 +0,0 @@
for %%a in (64 32) do for %%v in (2015 2013 2012 2010 2008 2005) do cmd /c "vcvars %%v %%a && cmakeBuild --rebuild --test 2>&1"
rem cmd /c "vcvars 2012 64 && cmakeBuild --rebuild --test 2>&1"