xmpsdk/buildXMPsdk.cmd work-in-progress

This commit is contained in:
Robin Mills 2017-08-28 20:42:48 +01:00
parent f281556e85
commit 68effb1772
2 changed files with 94 additions and 44 deletions

View File

@ -7,8 +7,8 @@ set "_THIS_=%0%"
GOTO main
:help
echo %_THIS_% [Options]
echo.Options: --help ^| --2016 ^| --2014 ^| --2013 ^| --64 ^| --32 ^| --rebuild ^| --dryrun ^| --distclean
echo --sdk [2013^|2014^|2016] ^| --bit [32^|64] ^| --vs [2005^|2008^|2010^|2012^|2013^|2015^|2017]
echo.Options: --help ^| --2016 ^| --2014 ^| --2013 ^| --64 ^| --32 ^| --rebuild ^| --dryrun ^| --distclean ^| --generate
echo --sdk [2013^|2014^|2016] ^| --bit [32^|64] ^| --vs [2005^|2008^|2010^|2012^|2013^|2015^|2017] ^| --log [path]
exit /b 0
:main
@ -17,9 +17,9 @@ rem always run this script in <exiv2dir>/xmpsdk
cd %~dp0
set "_BUILDDIR_=%CD%"
set _SDK_=2016
set _BIT_=64
set _VS_=2015
if NOT DEFINED _SDK_ set _SDK_=2016
if NOT DEFINED _BIT_ set _BIT_=64
if NOT DEFINED _VS_ set _VS_=2015
:GETOPTS
if /I "%1" == "--2013" set "_SDK_=2013"
@ -37,6 +37,7 @@ if /I "%1" == "64" set "_BIT_=64"
if /I "%1" == "--vs" set "_VS_=%2"&shift
if /I "%1" == "--sdk" set "_SDK_=%2"&shift
if /I "%1" == "--bit" set "_BIT_=%2"&shift
if /I "%1" == "--log" set "_LOG_=%2"&shift
if /I "%1" == "--verbose" echo on
if /I "%1" == "--silent" set _SILENT_=1
@ -44,6 +45,7 @@ if /I "%1" == "--help" call:help && goto end
if /I "%1" == "--rebuild" set _REBUILD_=1
if /I "%1" == "--distclean" set _DISTCLEAN_=1
if /I "%1" == "--dryrun" set _DRYRUN_=1
if /I "%1" == "--generate" set _GENERATE_=1
shift
if not (%1) EQU () goto GETOPTS
@ -112,7 +114,6 @@ IF ERRORLEVEL 1 (
GOTO error_end
)
call:report
rem ----
@ -139,8 +140,9 @@ xcopy/yesihq third-party\zuid\interfaces Adobe\%_SDK_%\third-par
rem ----
rem generate and build the SDK
cd Adobe\%_SDK_%\build
del CMakeCache.txt
if EXIST CMakeFiles rmdir/s/q CMakeFiles
if EXIST CMakeCache.txt del CMakeCache.txt
if EXIST CMakeFiles rmdir/s/q CMakeFiles
rem ------------------------------------------------------------------------------
rem The Adobe script GeneratXMPToolkitSDK_win.bat
@ -155,45 +157,14 @@ rem -DXMP_BUILD_WARNING_AS_ERROR=ON ^
rem -DXMP_BUILD_STATIC=ON
rem -DCMAKE_BUILD_TYPE=Release
rem ------------------------------------------------------------------------------
rem Building with the Adobe batch file GenerateXMPToolkitSDK_win.bat
rem TODO: Test the CMake.exe code and decide how to proceed
rem It's possible SDK=2016 demands VS=2015 (SDK=2014 & VS=2012) (SDK 2013 & VS=2010)
rem if /I %_BIT_% == 64 (
rem echo 5|GenerateXMPToolkitSDK_win.bat
rem call "%_BUILDDIR_%\..\contrib\cmake\msvc\vcvars.bat" %_VS_% %_BIT_%
rem devenv vc%_VC_%\static\windows_x64\XMPToolkitSDK64.sln /Build "Release|x64" /ProjectConfig XMPCoreStatic
rem )
rem
rem if /I %_BIT_% == 32 (
rem echo 3|GenerateXMPToolkitSDK_win.bat
rem call "%_BUILDDIR_%\..\contrib\cmake\msvc\vcvars.bat" %_VS_% %_BIT_%
rem devenv vc%_VC_%\static\windows\XMPToolkitSDK.sln /Build "Release|Win32" /ProjectConfig XMPCoreStatic
rem )
set "_CL64_=-DCMAKE_CL_64=ON"
set "_ARCH_=-DCMAKE_ARCH=x64"
set "_OUT_=%_VS_%/static/windows_x64"
set "_BUILD_=Release|x64"
set "_SLN_=XMPToolkitSDK64.sln"
if /I "%_BIT_%" == "32" (
set "_CL64_=-DCMAKE_CL_64=OFF"
set "_ARCH_=-DCMAKE_ARCH=x86"
set "_OUT_=%_VS_%/static/windows"
set "_BUILD_=Release|Win32"
set "_SLN_=XMPToolkitSDK.sln"
)
@echo on
cmake.exe --version
call "%_BUILDDIR_%\..\contrib\cmake\msvc\vcvars.bat" %_VS_% %_BIT_%
cmake.exe . "-G%_GENERATOR_%" "%_CL64_%" "%_ARCH_%" -DXMP_BUILD_STATIC=ON -DCMAKE_BUILD_TYPE=Release "-DXMP_CMAKEFOLDER_NAME=%_OUT_%"
rem cmake.exe . --build
devenv "%_SLN_%" /Build "%_BUILD_%" /ProjectConfig XMPCoreStatic
if DEFINED _GENERATE_ call:generate
if NOT DEFINED _GENERATE_ call:cmakebuild
cd ..\..\..
@echo off
cd "%_BUILDDIR_%"
dir/s XMPCoreStatic.lib
if DEFINED _LOG_ call:log >> "%_LOG_%"
call:log
GOTO end
rem -----------------------------------------
@ -231,5 +202,80 @@ echo.builddir = %_BUILDDIR_%
echo ----------------------------------
exit /b 0
rem That's all Folks!
rem ----
rem log
:log
echo VS = %_VS_% BIT = %_BIT_% GENERATE = %_GENERATE_%
dir/s XMPCoreStatic.lib
echo.-------------------------------------------------
exit /b 0
rem ----
rem generate
:generate
rem Building with the Adobe batch file GenerateXMPToolkitSDK_win.bat
rem SDK=2016 demands VS=2015/14.0 (SDK=2014 => VS=2012/11.0) (SDK 2013 => VS=2010/10.0)
set _VS_=2015
set _VC_=14
if /I %_SDK_% == XMP-Toolkit-SDK-CC201412 (
set _VS_=2012
set _VC_=11
)
if /I %_SDK_% == XMP-Toolkit-SDK-CC201306 (
set _VS_=2010
set _VC_=10
)
if /I %_BIT_% == 64 (
echo 5|GenerateXMPToolkitSDK_win.bat
call "%_BUILDDIR_%\..\contrib\cmake\msvc\vcvars.bat" %_VS_% %_BIT_%
devenv vc%_VC_%\static\windows_x64\XMPToolkitSDK64.sln /Build "Release|x64" /ProjectConfig XMPCoreStatic
)
if /I %_BIT_% == 32 (
echo 3|GenerateXMPToolkitSDK_win.bat
call "%_BUILDDIR_%\..\contrib\cmake\msvc\vcvars.bat" %_VS_% %_BIT_%
devenv vc%_VC_%\static\windows\XMPToolkitSDK.sln /Build "Release|Win32" /ProjectConfig XMPCoreStatic
)
exit /b 0
rem ----
rem cmakebuild
:cmakebuild
set "_CL64_=ON"
set "_ARCH_=x64"
set "_OUT_=%_VS_%/static/windows_x64"
set "_BUILD_=Release|x64"
set "_SLN_=XMPToolkitSDK64.sln"
if /I "%_BIT_%" == "32" (
set "_CL64_=OFF"
set "_ARCH_==x86"
set "_OUT_=%_VS_%/static/windows"
set "_BUILD_=Release|Win32"
set "_SLN_=XMPToolkitSDK.sln"
)
cmake.exe . "-G%_GENERATOR_%" "-DCMAKE_CL_64=%_CL64_%" "-DCMAKE_ARCH=%_ARCH_%" -DXMP_BUILD_STATIC=ON -DCMAKE_BUILD_TYPE=Release "-DXMP_CMAKEFOLDER_NAME=%_OUT_%"
rem cmake.exe . --build
call "%_BUILDDIR_%\..\contrib\cmake\msvc\vcvars.bat" %_VS_% %_BIT_%
devenv "%_SLN_%" /Build "%_BUILD_%" /ProjectConfig XMPCoreStatic
exit /b 0
rem That's all Folks!
rem ---
:-------------------------------------------------------------------------:
:Results (XMPCoreStatic.lib in bytes) :
:SDK 2016 (100mb) 2014 (19mb) 2013 (16mb) :
:BIT 64 32 64 32 64 32 :
:--generate 101641740 102822984 19286538 19450862 16460768 16401436 :
:--vs 2017 98051466 99325340 21777156 22077510 21742182 22042920 :
:--vs 2015 101639620 102822984 22062886 22146768 22029954 22112392 :
:--vs 2013 87074304 87437858 19390614 19373912 19358838 19340578 :
:--vs 2012 19286538 FAILS 19286538 88888888 FAILS 88888888 :
:--vs 2010 FAILS FAILS 16490010 88888888 16460768 88888888 :
:--vs 2008 88888888 88888888 88888888 88888888 88888888 88888888 :
:--vs 2005 88888888 88888888 88888888 88888888 88888888 88888888 :
:-------------------------------------------------------------------------:
:88888888 = Not tested

View File

@ -446,6 +446,10 @@ typedef uLong FAR uLongf;
# undef _LARGEFILE64_SOURCE
#endif
#if defined(_MSC_VER) && defined(Z_HAVE_UNISTD_H)
#undef Z_HAVE_UNISTD_H
#endif
#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
# define Z_HAVE_UNISTD_H
#endif