#1041. Simplified building and linking curl etc. curl etc aren't building (something to do with CMake). Good day's progress.

v0.27.3
Robin Mills 10 years ago
parent 20fdbb63cf
commit 76458232f8

@ -1,16 +1,20 @@
contrib/cmake/msvc/ReadMe.txt
-----------------------------
These scripts are "in development". They are derived from Daniels contrib/build scripts.
These scripts are "in development".
They are derived from Daniels contrib/build scripts.
Rather that endlessly discuss these scripts with Daniel
Status:
2015-11-17 Added command-line parser
Building exiv2 with zlib and expat and exiv2
-webready = curl etc broken
2015-11-16 The current status is "Work in Progress" = Not working yet.
These script are not for public use at the moment by Daniel or anybody else.
Rather than endlessly discuss these scripts with Daniel
I'm going to do parallel development and see how that goes.
I'll discuss this with Daniel when I'm convinced my versions are working well.
The current status is "Work in Progress" = Not working yet.
These script are not for public use at the moment by Daniel or anybody else.
Robin Mills
robin@clanmills.com
Updated: 2015-11-16

@ -1,7 +1,7 @@
@echo off
setlocal enableextensions
set "BUILD_DIR=%CD%"
set "_BUILDDIR_=%CD%"
:GETOPTS
if /I "%1" == "--help" (
@ -12,6 +12,7 @@ if /I "%1" == "--webready" set "_WEBREADY_=1"
if /I "%1" == "--config" set "_CONFIG_=%2"& shift
if /I "%1" == "--temp" set "_TEMP_=%2"& shift
if /I "%1" == "--generator" set "_GENERATOR_=%2"& shift
if /I "%1" == "--cygwin" set "_CYGWIN_=%2"& shift
if /I "%1" == "--exiv2" set "_EXIV2_=%2"& shift
if /I "%1" == "--verbose" set "_VERBOSE_=1"
if /I "%1" == "--dryrun" set "_DRYRUN_=1"
@ -156,49 +157,31 @@ IF ERRORLEVEL 1 (
)
rem ----
call:echo testing the cygwin_dir exists
if NOT EXIST %CYGWIN_DIR% (
echo "*** CYGWIN_DIR %CYGWIN_DIR% does not exist ***"
call:echo testing that _CYGWIN_ exists
if NOT EXIST %_CYGWIN_% (
echo "*** _CYGWIN_ %_CYGWIN_% does not exist ***"
GOTO error_end
)
rem ----
call:echo testing cygwin tools are available
SET 7Z_PATH=%CYGWIN_DIR%\lib\p7zip\7z.exe
IF NOT EXIST %CYGWIN_DIR%\lib\p7zip\7z.exe GOTO cygwin_error
IF NOT EXIST %CYGWIN_DIR%\bin\cp.exe GOTO cygwin_error
IF NOT EXIST %CYGWIN_DIR%\bin\gzip.exe GOTO cygwin_error
IF NOT EXIST %CYGWIN_DIR%\bin\mv.exe GOTO cygwin_error
IF NOT EXIST %CYGWIN_DIR%\bin\svn.exe GOTO cygwin_error
IF NOT EXIST %CYGWIN_DIR%\bin\tar.exe GOTO cygwin_error
IF NOT EXIST %CYGWIN_DIR%\bin\unzip.exe GOTO cygwin_error
IF NOT EXIST %CYGWIN_DIR%\bin\wget.exe GOTO cygwin_error
rem SET PATH=%PATH%;%CYGWIN_DIR%\bin
IF NOT EXIST %_CYGWIN_%\bin\cp.exe GOTO cygwin_error
IF NOT EXIST %_CYGWIN_%\bin\tar.exe GOTO cygwin_error
GOTO cygwin_ok
:cygwin_error
echo ERROR: Cygwin with
echo 7z
echo cp
echo gzip
echo mv
echo svn
echo tar
echo unzip
echo wget
echo is required
echo "*** Cygwin with bin/cp and bin/tar are required ***"
GOTO error_end
:cygwin_ok
pushd %CYGWIN_DIR%
set CYGWIN_DIR=%CD%
pushd %_CYGWIN_%
set _CYGWIN_=%CD%
popd
set %PATH=%PATH%;%CYGWIN_DIR%\bin"
rem ----
call:echo testing temporary directory
IF NOT EXIST %_TEMP_% mkdir %_TEMP_%
pushd "%_TEMP_%"
IF NOT EXIST "%_TEMP_%" mkdir "%_TEMP_%"
pushd "%_TEMP_%"
set "_TEMP_=%CD%"
popd
call:echo _TEMP_ = %_TEMP_%
@ -207,31 +190,20 @@ rem ----
call:echo testing INSTALL
SET _INSTALL_=dist
IF NOT EXIST %_INSTALL_% mkdir %_INSTALL_%
pushd %_INSTALL_%
set "_INSTALL_=%CD%"
pushd %_INSTALL_%
set "_INSTALL_=%CD%"
popd
call:echo _INSTALL_ = %_INSTALL_%
call:echo _INSTALL_ = %_INSTALL_%
if NOT DEFINED _GENERATOR_ set "_GENERATOR_=%VS_CMAKE%"
if /I "%_GENERATOR_%" == "NMake" set "_GENERATOR_=NMake Makefiles"
call:echo setting cmake options
IF DEFINED _WEBREADY_ set T=ON
IF NOT DEFINED _WEBREADY_ set T=OFF
set "_WEBREADY_=-DEXIV2_ENABLE_WEBREADY=%T%"
rem ----
echo.
echo config = %_CONFIG_% webready = %_WEBREADY_% _EXIV2_= %_EXIV2_%"
IF DEFINED _DRYRUN_ exit /b 1
rem ---- location of library code ---------
rem https://github.com/bagder/curl
SET CURL_COMMIT_LONG=dd39a671019d713bd077be9eed511c2dc6013598
rem http://www.npcglib.org/~stathis/blog/precompiled-openssl/
SET OPENSSL_VERSION=openssl-1.0.2d
echo ---------- building ZLIB ------------------
call:buildLib zlib-1.2.8
@ -240,84 +212,40 @@ set "TARGET=--target expat"
call:buildLib expat-2.1.0
set TARGET=
rem SET OPENSSL_LONG=%OPENSSL_VERSION%-%VS_OPENSSL%
rem IF NOT EXIST %_TEMP_%\%OPENSSL_LONG%.7z (
rem %CYGWIN_DIR%\bin\wget.exe -O %_TEMP_%/%OPENSSL_LONG%.7z --no-check-certificate http://www.npcglib.org/~stathis/downloads/%OPENSSL_LONG%.7z
rem )
rem IF NOT EXIST %OPENSSL_LONG% (
rem %CYGWIN_DIR%\lib\p7zip\7z.exe x %_TEMP_%/%OPENSSL_LONG%.7z
rem IF %Platform% EQU x64 (
rem ren %OPENSSL_LONG%\lib xxlib
rem ren %OPENSSL_LONG%\lib64 lib
rem ren %OPENSSL_LONG%\bin xxbin
rem ren %OPENSSL_LONG%\bin64 bin
rem )
rem )
rem robocopy %OPENSSL_LONG%\bin %_INSTALL_%\bin libeay32MD.dll /MIR /NJS >nul
rem robocopy %OPENSSL_LONG%\bin %_INSTALL_%\bin ssleay32MD.dll /MIR /NJS >nul
rem
rem
rem SET CURL_COMMIT=%CURL_COMMIT_LONG:~0,7%
rem IF NOT EXIST %_TEMP_%\curl-%CURL_COMMIT%.zip (
rem %CYGWIN_DIR%\bin\wget.exe -O %_TEMP_%/curl-%CURL_COMMIT%.zip --no-check-certificate http://github.com/bagder/curl/zipball/%CURL_COMMIT_LONG%
rem )
rem
rem IF NOT EXIST curl-%CURL_COMMIT% (
rem %CYGWIN_DIR%\bin\unzip.exe -q %_TEMP_%/curl-%CURL_COMMIT%.zip
rem %CYGWIN_DIR%\bin\mv.exe bagder-curl-* curl-%CURL_COMMIT%
rem )
rem
rem IF NOT EXIST curl-%CURL_COMMIT%.build (
rem mkdir curl-%CURL_COMMIT%.build
rem
rem pushd curl-%CURL_COMMIT%.build
rem cmake -G "%_GENERATOR_%" -DCMAKE_INSTALL_PREFIX=..\%_INSTALL_% -DCMAKE_PREFIX_PATH=..\%OPENSSL_LONG% -DBUILD_CURL_TESTS=OFF -DCMAKE_USE_OPENSSL=ON -DCMAKE_USE_LIBSSH2=OFF ..\curl-%CURL_COMMIT%
rem IF errorlevel 1 goto error_end
rem cmake --build . --config %_CONFIG_%
rem IF errorlevel 1 goto error_end
rem cmake --build . --config %_CONFIG_% --target install
rem IF errorlevel 1 goto error_end
rem
rem popd
rem )
rem
rem SET SSH_VERSION=0.7.2
rem IF NOT EXIST %_TEMP_%\libssh-%SSH_VERSION%.zip (
rem %CYGWIN_DIR%\bin\wget.exe -O %_TEMP_%/libssh-%SSH_VERSION%.zip --no-check-certificate https://git.libssh.org/projects/libssh.git/snapshot/libssh-%SSH_VERSION%.zip
rem )
rem IF NOT EXIST libssh-%SSH_VERSION% (
rem %CYGWIN_DIR%\bin\unzip.exe -q %_TEMP_%/libssh-%SSH_VERSION%.zip
rem )
rem IF NOT EXIST libssh-%SSH_VERSION%.build (
rem mkdir libssh-%SSH_VERSION%.build
rem
rem pushd libssh-%SSH_VERSION%.build
rem
rem cmake -G "%_GENERATOR_%" -DWITH_GSSAPI=OFF -DWITH_ZLIB=ON -DWITH_SFTP=ON -DWITH_SERVER=OFF -DWITH_EXAMPLES=OFF -DWITH_NACL=OFF -DCMAKE_PREFIX_PATH=..\%OPENSSL_LONG% -DWITH_PCAP=OFF -DCMAKE_INSTALL_PREFIX=..\%_INSTALL_% ..\libssh-%SSH_VERSION%
rem
rem IF errorlevel 1 goto error_end
rem cmake --build . --config %_CONFIG_%
rem IF errorlevel 1 goto error_end
rem cmake --build . --config %_CONFIG_% --target install
rem IF errorlevel 1 goto error_end
rem
rem popd
rem )
if DEFINED _WEBREADY_ (
echo ---------- building LIBSSH -----------------
set _SSH_=-DEXIV2_ENABLE_SSH=ON
call:buildLib libssh-0.5.5
if errorlevel 1 set _SSH_=-DEXIV2_ENABLE_SSH=OFF
echo ---------- building OPENSSL -----------------
call:buildLib openssl-1.0.1j
echo ---------- building CURL -----------------
set _CURL_=-DEXIV2_ENABLE_CURL=ON
call:buildLib curl-7.39.0
if errorlevel 1 set _CURL_=-DEXIV2_ENABLE_CURL=OFF
set _WEBREADY_=-DEXIV2_ENABLE_WEBREADY=ON
) else (
set _WEBREADY_=-DEXIV2_ENABLE_WEBREADY=OFF
set _CURL_=-DEXIV2_ENABLE_CURL=OFF
set _SSH_=-DEXIV2_ENABLE_SSH=OFF
)
echo ---------- building EXIV2 ------------------
set EXIV_BUILD="%_TEMP_%\exiv2"
if defined _REBUILD_ "%EXIV_BUILD%"
IF NOT EXIST "%EXIV_BUILD%" mkdir "%EXIV_BUILD%"
IF NOT EXIST "%EXIV_BUILD%" mkdir "%EXIV_BUILD%"
pushd "%EXIV_BUILD%"
call:run cmake -G "%_GENERATOR_%" ^
"-DCMAKE_INSTALL_PREFIX=%_INSTALL_%" "-DCMAKE_PROGRAM_PATH=%SVN_DIR%" ^
"%_WEBREADY_%" -DEXIV2_ENABLE_BUILD_SAMPLES=ON ^
-DEXIV2_ENABLE_CURL=OFF -DEXIV2_ENABLE_SSH=OFF -DEXIV2_ENABLE_NLS=OFF ^
-DEXIV2_ENABLE_WIN_UNICODE=OFF -DEXIV2_ENABLE_SHARED=ON ^
"-DCMAKE_LIBRARY_PATH=%INSTALL_PATH%\lib" "-DCMAKE_INCLUDE_PATH=%INSTALL_PATH%\include" ^
-DEXIV2_ENABLE_NLS=OFF -DEXIV2_ENABLE_BUILD_SAMPLES=ON ^
-DEXIV2_ENABLE_WIN_UNICODE=OFF -DEXIV2_ENABLE_SHARED=ON ^
%_WEBREADY_% %_CURL_% %_SSH_% ^
"%_EXIV2_%"
IF errorlevel 1 (
@ -379,7 +307,7 @@ exit /b %ERRORLEVEL%
rem -------------------------------------------------------------
:buildLib
cd "%BUILD_DIR%"
cd "%_BUILDDIR_%"
set LIB=%1%
set LIB_T=%LIB%.tar
@ -392,7 +320,7 @@ IF NOT EXIST "%LIB_Z%" (
)
if defined _REBUILD_ rmdir/s/q "%LIB%"
IF NOT EXIST "%LIB%" "%CYGWIN_DIR%\bin\tar.exe" xzf "%LIB_Z%"
IF NOT EXIST "%LIB%" "%_CYGWIN_%\bin\tar.exe" xzf "%LIB_Z%"
if defined _REBUILD_ rmdir/s/q "%LIB_B%"
IF NOT EXIST %LIB_B% mkdir "%LIB_B%"
@ -424,3 +352,5 @@ IF NOT EXIST %LIB_B% mkdir "%LIB_B%"
exit /b 0
rem That's all Folks!
rem -------------------------------------------------------------

@ -1,7 +1,7 @@
@echo off
if not defined Configuration SET _CONFIG_=Release
IF NOT DEFINED CYGWIN_DIR SET CYGWIN_DIR=c:\cygwin64
if not defined _CONFIG_ SET _CONFIG_=Release
IF NOT DEFINED _CYGWIN_ SET _CYGWIN_=c:\cygwin64
if NOT DEFINED _TEMP_ SET _TEMP_=temp
if NOT DEFINED _EXIV2_ SET _EXIV2_=..\trunk

Loading…
Cancel
Save