#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 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'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. 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 Mills
robin@clanmills.com robin@clanmills.com
Updated: 2015-11-16

@ -1,7 +1,7 @@
@echo off @echo off
setlocal enableextensions setlocal enableextensions
set "BUILD_DIR=%CD%" set "_BUILDDIR_=%CD%"
:GETOPTS :GETOPTS
if /I "%1" == "--help" ( 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" == "--config" set "_CONFIG_=%2"& shift
if /I "%1" == "--temp" set "_TEMP_=%2"& shift if /I "%1" == "--temp" set "_TEMP_=%2"& shift
if /I "%1" == "--generator" set "_GENERATOR_=%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" == "--exiv2" set "_EXIV2_=%2"& shift
if /I "%1" == "--verbose" set "_VERBOSE_=1" if /I "%1" == "--verbose" set "_VERBOSE_=1"
if /I "%1" == "--dryrun" set "_DRYRUN_=1" if /I "%1" == "--dryrun" set "_DRYRUN_=1"
@ -156,49 +157,31 @@ IF ERRORLEVEL 1 (
) )
rem ---- rem ----
call:echo testing the cygwin_dir exists call:echo testing that _CYGWIN_ exists
if NOT EXIST %CYGWIN_DIR% ( if NOT EXIST %_CYGWIN_% (
echo "*** CYGWIN_DIR %CYGWIN_DIR% does not exist ***" echo "*** _CYGWIN_ %_CYGWIN_% does not exist ***"
GOTO error_end GOTO error_end
) )
rem ---- rem ----
call:echo testing cygwin tools are available call:echo testing cygwin tools are available
SET 7Z_PATH=%CYGWIN_DIR%\lib\p7zip\7z.exe IF NOT EXIST %_CYGWIN_%\bin\cp.exe GOTO cygwin_error
IF NOT EXIST %CYGWIN_DIR%\lib\p7zip\7z.exe GOTO cygwin_error IF NOT EXIST %_CYGWIN_%\bin\tar.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
GOTO cygwin_ok GOTO cygwin_ok
:cygwin_error :cygwin_error
echo ERROR: Cygwin with echo "*** Cygwin with bin/cp and bin/tar are required ***"
echo 7z
echo cp
echo gzip
echo mv
echo svn
echo tar
echo unzip
echo wget
echo is required
GOTO error_end GOTO error_end
:cygwin_ok :cygwin_ok
pushd %CYGWIN_DIR% pushd %_CYGWIN_%
set CYGWIN_DIR=%CD% set _CYGWIN_=%CD%
popd popd
set %PATH=%PATH%;%CYGWIN_DIR%\bin"
rem ---- rem ----
call:echo testing temporary directory call:echo testing temporary directory
IF NOT EXIST %_TEMP_% mkdir %_TEMP_% IF NOT EXIST "%_TEMP_%" mkdir "%_TEMP_%"
pushd "%_TEMP_%" pushd "%_TEMP_%"
set "_TEMP_=%CD%" set "_TEMP_=%CD%"
popd popd
call:echo _TEMP_ = %_TEMP_% call:echo _TEMP_ = %_TEMP_%
@ -207,31 +190,20 @@ rem ----
call:echo testing INSTALL call:echo testing INSTALL
SET _INSTALL_=dist SET _INSTALL_=dist
IF NOT EXIST %_INSTALL_% mkdir %_INSTALL_% IF NOT EXIST %_INSTALL_% mkdir %_INSTALL_%
pushd %_INSTALL_% pushd %_INSTALL_%
set "_INSTALL_=%CD%" set "_INSTALL_=%CD%"
popd popd
call:echo _INSTALL_ = %_INSTALL_% call:echo _INSTALL_ = %_INSTALL_%
if NOT DEFINED _GENERATOR_ set "_GENERATOR_=%VS_CMAKE%" if NOT DEFINED _GENERATOR_ set "_GENERATOR_=%VS_CMAKE%"
if /I "%_GENERATOR_%" == "NMake" set "_GENERATOR_=NMake Makefiles" 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 ---- rem ----
echo. echo.
echo config = %_CONFIG_% webready = %_WEBREADY_% _EXIV2_= %_EXIV2_%" echo config = %_CONFIG_% webready = %_WEBREADY_% _EXIV2_= %_EXIV2_%"
IF DEFINED _DRYRUN_ exit /b 1 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 ------------------ echo ---------- building ZLIB ------------------
call:buildLib zlib-1.2.8 call:buildLib zlib-1.2.8
@ -240,84 +212,40 @@ set "TARGET=--target expat"
call:buildLib expat-2.1.0 call:buildLib expat-2.1.0
set TARGET= set TARGET=
rem SET OPENSSL_LONG=%OPENSSL_VERSION%-%VS_OPENSSL% if DEFINED _WEBREADY_ (
rem IF NOT EXIST %_TEMP_%\%OPENSSL_LONG%.7z ( echo ---------- building LIBSSH -----------------
rem %CYGWIN_DIR%\bin\wget.exe -O %_TEMP_%/%OPENSSL_LONG%.7z --no-check-certificate http://www.npcglib.org/~stathis/downloads/%OPENSSL_LONG%.7z set _SSH_=-DEXIV2_ENABLE_SSH=ON
rem ) call:buildLib libssh-0.5.5
rem IF NOT EXIST %OPENSSL_LONG% ( if errorlevel 1 set _SSH_=-DEXIV2_ENABLE_SSH=OFF
rem %CYGWIN_DIR%\lib\p7zip\7z.exe x %_TEMP_%/%OPENSSL_LONG%.7z
rem IF %Platform% EQU x64 ( echo ---------- building OPENSSL -----------------
rem ren %OPENSSL_LONG%\lib xxlib call:buildLib openssl-1.0.1j
rem ren %OPENSSL_LONG%\lib64 lib
rem ren %OPENSSL_LONG%\bin xxbin echo ---------- building CURL -----------------
rem ren %OPENSSL_LONG%\bin64 bin set _CURL_=-DEXIV2_ENABLE_CURL=ON
rem ) call:buildLib curl-7.39.0
rem ) if errorlevel 1 set _CURL_=-DEXIV2_ENABLE_CURL=OFF
rem robocopy %OPENSSL_LONG%\bin %_INSTALL_%\bin libeay32MD.dll /MIR /NJS >nul
rem robocopy %OPENSSL_LONG%\bin %_INSTALL_%\bin ssleay32MD.dll /MIR /NJS >nul set _WEBREADY_=-DEXIV2_ENABLE_WEBREADY=ON
rem ) else (
rem set _WEBREADY_=-DEXIV2_ENABLE_WEBREADY=OFF
rem SET CURL_COMMIT=%CURL_COMMIT_LONG:~0,7% set _CURL_=-DEXIV2_ENABLE_CURL=OFF
rem IF NOT EXIST %_TEMP_%\curl-%CURL_COMMIT%.zip ( set _SSH_=-DEXIV2_ENABLE_SSH=OFF
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 )
echo ---------- building EXIV2 ------------------ echo ---------- building EXIV2 ------------------
set EXIV_BUILD="%_TEMP_%\exiv2" set EXIV_BUILD="%_TEMP_%\exiv2"
if defined _REBUILD_ "%EXIV_BUILD%" if defined _REBUILD_ "%EXIV_BUILD%"
IF NOT EXIST "%EXIV_BUILD%" mkdir "%EXIV_BUILD%" IF NOT EXIST "%EXIV_BUILD%" mkdir "%EXIV_BUILD%"
pushd "%EXIV_BUILD%" pushd "%EXIV_BUILD%"
call:run cmake -G "%_GENERATOR_%" ^ call:run cmake -G "%_GENERATOR_%" ^
"-DCMAKE_INSTALL_PREFIX=%_INSTALL_%" "-DCMAKE_PROGRAM_PATH=%SVN_DIR%" ^ "-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" ^ "-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_%" "%_EXIV2_%"
IF errorlevel 1 ( IF errorlevel 1 (
@ -379,7 +307,7 @@ exit /b %ERRORLEVEL%
rem ------------------------------------------------------------- rem -------------------------------------------------------------
:buildLib :buildLib
cd "%BUILD_DIR%" cd "%_BUILDDIR_%"
set LIB=%1% set LIB=%1%
set LIB_T=%LIB%.tar set LIB_T=%LIB%.tar
@ -392,7 +320,7 @@ IF NOT EXIST "%LIB_Z%" (
) )
if defined _REBUILD_ rmdir/s/q "%LIB%" 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 defined _REBUILD_ rmdir/s/q "%LIB_B%"
IF NOT EXIST %LIB_B% mkdir "%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 exit /b 0
rem That's all Folks!
rem -------------------------------------------------------------

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

Loading…
Cancel
Save