mirror of
https://github.com/zeromq/libzmq.git
synced 2025-01-06 00:31:13 +01:00
6a9af8ed62
There is an option to enable/disable libsodium via the Visual Studio UI. This is not practical for command-line usage (via msbuild). Solution: add configure.bat that searches for libsodium in sibling directory to libzmq; if it finds it, defines HAVE_LIBSODIUM 1. This is consistent with zproject, which has the same problem and is getting the same solution for all dependency resolution on Windows. Note that this approach also provides a way to support tweetnacl via a configure option. Also, removed duplicate props files and re-copy in configure.bat as it was an insane nightmare to update these by hand. (and not clear that they were identical. Now it's forced.)
79 lines
2.7 KiB
Batchfile
79 lines
2.7 KiB
Batchfile
@ECHO OFF
|
|
REM Usage: [buildbase.bat ..\vs2013\mysolution.sln 12]
|
|
|
|
SET solution=%1
|
|
SET version=%2
|
|
SET log=build_%version%.log
|
|
SET tools=Microsoft Visual Studio %version%.0\VC\vcvarsall.bat
|
|
SET environment="%programfiles(x86)%\%tools%"
|
|
IF NOT EXIST %environment% SET environment="%programfiles%\%tools%"
|
|
IF NOT EXIST %environment% GOTO no_tools
|
|
|
|
SET packages=
|
|
IF EXIST "..\..\..\..\libsodium\builds/msvc/vs2015\libsodium.import.props" (
|
|
COPY /Y "..\..\..\..\libsodium\builds/msvc/vs2015\libsodium.import.props" . > %log%
|
|
IF errorlevel 1 GOTO error
|
|
SET packages=%packages% /p:HAVE_LIBSODIUM=1
|
|
) ELSE (
|
|
ECHO Building without libsodium
|
|
)
|
|
|
|
ECHO Building %solution%... (%packages%)
|
|
|
|
CALL %environment% x86 > nul
|
|
ECHO Platform=x86
|
|
|
|
ECHO Configuration=DynDebug
|
|
msbuild /m /v:n /p:Configuration=DynDebug /p:Platform=Win32 %packages% %solution% > %log%
|
|
IF errorlevel 1 GOTO error
|
|
ECHO Configuration=DynRelease
|
|
msbuild /m /v:n /p:Configuration=DynRelease /p:Platform=Win32 %packages% %solution% >> %log%
|
|
IF errorlevel 1 GOTO error
|
|
ECHO Configuration=LtcgDebug
|
|
msbuild /m /v:n /p:Configuration=LtcgDebug /p:Platform=Win32 %packages% %solution% >> %log%
|
|
IF errorlevel 1 GOTO error
|
|
ECHO Configuration=LtcgRelease
|
|
msbuild /m /v:n /p:Configuration=LtcgRelease /p:Platform=Win32 %packages% %solution% >> %log%
|
|
IF errorlevel 1 GOTO error
|
|
ECHO Configuration=StaticDebug
|
|
msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=Win32 %packages% %solution% >> %log%
|
|
IF errorlevel 1 GOTO error
|
|
ECHO Configuration=StaticRelease
|
|
msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=Win32 %packages% %solution% >> %log%
|
|
IF errorlevel 1 GOTO error
|
|
|
|
CALL %environment% x86_amd64 > nul
|
|
ECHO Platform=x64
|
|
|
|
ECHO Configuration=DynDebug
|
|
msbuild /m /v:n /p:Configuration=DynDebug /p:Platform=x64 %packages% %solution% > %log%
|
|
IF errorlevel 1 GOTO error
|
|
ECHO Configuration=DynRelease
|
|
msbuild /m /v:n /p:Configuration=DynRelease /p:Platform=x64 %packages% %solution% >> %log%
|
|
IF errorlevel 1 GOTO error
|
|
ECHO Configuration=LtcgDebug
|
|
msbuild /m /v:n /p:Configuration=LtcgDebug /p:Platform=x64 %packages% %solution% >> %log%
|
|
IF errorlevel 1 GOTO error
|
|
ECHO Configuration=LtcgRelease
|
|
msbuild /m /v:n /p:Configuration=LtcgRelease /p:Platform=x64 %packages% %solution% >> %log%
|
|
IF errorlevel 1 GOTO error
|
|
ECHO Configuration=StaticDebug
|
|
msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=x64 %packages% %solution% >> %log%
|
|
IF errorlevel 1 GOTO error
|
|
ECHO Configuration=StaticRelease
|
|
msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=x64 %packages% %solution% >> %log%
|
|
IF errorlevel 1 GOTO error
|
|
|
|
ECHO Complete: %solution%
|
|
GOTO end
|
|
|
|
:error
|
|
ECHO *** ERROR, build terminated early, see: %log%
|
|
GOTO end
|
|
|
|
:no_tools
|
|
ECHO *** ERROR, build tools not found: %tools%
|
|
|
|
:end
|
|
|