[svn-r14597] Purpose: Backport Windows cleanup checkins from trunk

Description:
Make the Windows copy_hdf.bat a little cleaner/safer, and produce useful output in installhdf5lib.bat

Previously, all of our build output would simply go to stdout/stderr for command-line builds.  We can pipe this into a log file as a whole, but the complete logfile becomes very large very quickly.  Instead, we give the user an option to place build results and test results into separate logs (or even the same).  This will help keeping track of results in our automated testing.

Tested:
VS2005 on WinXP
This commit is contained in:
Scott Wegner
2008-02-18 10:48:34 -05:00
parent dee9447656
commit 728e308764
3 changed files with 359 additions and 168 deletions

View File

@@ -17,15 +17,15 @@ rem Purpose : Copy all Files in the following formats from Windows to
rem approapriate directory: .bat .c .f90 .h .txt .js rem approapriate directory: .bat .c .f90 .h .txt .js
rem : rem :
rem Written By : Muqun Yang rem Written By : Muqun Yang
rem Last Update : November 17, 2007 by Scott Wegner rem Last Update : 2/18/08 by Scott Wegner
pushd %~dp0 pushd %~dp0
copy src\H5Tinit.c ..\src copy /y src\H5Tinit.c ..\src > nul
copy src\H5pubconf.h ..\src copy /y src\H5pubconf.h ..\src > nul
copy fortran\src\H5f90i_gen.h ..\fortran\src copy /y fortran\src\H5f90i_gen.h ..\fortran\src > nul
copy fortran\src\H5fortran_types.f90 ..\fortran\src copy /y fortran\src\H5fortran_types.f90 ..\fortran\src > nul
xcopy /e/i/Y *.bat ..\ xcopy /s /i /y *.bat ..\ > nul
copy examples\testExamples_exp_output.txt ..\examples copy /y examples\testExamples_exp_output.txt ..\examples > nul
popd popd

View File

@@ -19,10 +19,13 @@ rem This batch file takes the following options:
rem . /fort Build and test HDF5 with Fortran libraries rem . /fort Build and test HDF5 with Fortran libraries
rem . /useenv Build HDF5 using compiler settings defined rem . /useenv Build HDF5 using compiler settings defined
rem . in the environment, rather than the IDE. rem . in the environment, rather than the IDE.
rem . /log Log the build and test results in files defined by
rem . environment variables HDF5BUILD_LOG and
rem . HDF5CHECK_LOG
rem . /? Help information rem . /? Help information
rem By Xuan Bai rem By Xuan Bai
rem Created: Aug. 16, 2004 rem Created: Aug. 16, 2004
rem Last Updated: Scott Wegner, 10/1/07 rem Last Updated: Scott Wegner, 2/18/08
rem This batch file makes the following assumptions: rem This batch file makes the following assumptions:
rem - The appropriate version of Visual Studio is installed and setup rem - The appropriate version of Visual Studio is installed and setup
@@ -33,6 +36,8 @@ rem - szip and zlib DLLs are already placed in an accessible directory
rem - hdf5_ext_szip or hdf5_ext_zlib have been set accordingly rem - hdf5_ext_szip or hdf5_ext_zlib have been set accordingly
rem - if building with the /useenv option, szip and zlib paths have been added rem - if building with the /useenv option, szip and zlib paths have been added
rem to %include% and %libpath% as necessary. rem to %include% and %libpath% as necessary.
rem - if using the /log option, hdf5build_log and hdf5_check log should be defined
rem - in the environment.
rem By default, only C and C++ libraries are built and tested. rem By default, only C and C++ libraries are built and tested.
@@ -69,6 +74,10 @@ rem Parse through the parameters sent to file, and set appropriate variables
rem Pass /useenv flag to devenv rem Pass /useenv flag to devenv
set hdf5_useenv=true set hdf5_useenv=true
) else if "%%a"=="/log" (
rem Log our results to files defined in environment
set hdf5_logresults=true
) else if "%%a"=="/?" ( ) else if "%%a"=="/?" (
rem Set errorlevel 1 and send to help rem Set errorlevel 1 and send to help
call :help call :help
@@ -102,21 +111,49 @@ rem Setup our environment
set hdf5build_params=%hdf5build_params% /useenv set hdf5build_params=%hdf5build_params% /useenv
) )
rem Clear out our log files if they will be used
if defined hdf5_logresults (
if not defined hdf5build_log (
echo.Error: HDF5BUILD_LOG not defined in environment!
exit /b 1
) else (
type nul > !hdf5build_log!
)
if not defined hdf5check_log (
echo.Error: HDF5CHECK_LOG not defined in environment!
exit /b 1
) else (
type nul > !hdf5check_log!
)
)
exit /b 0 exit /b 0
rem Build HDF5 libraries and tools rem Build HDF5 libraries and tools
:build :build
call hdf5build.bat %hdf5build_params% if defined hdf5_logresults (
echo.Calling hdf5bbuild.bat %hdf5build_params%
echo.Results logged in %hdf5build_log%
call hdf5build.bat %hdf5build_params% > !hdf5build_log! 2>&1
) else (
call hdf5build.bat %hdf5build_params%
)
exit /b exit /b
rem Test our libraries and tools rem Test our libraries and tools
:test :test
if defined hdf5_logresults (
call hdf5check %hdf5check_params% echo.Calling hdf5check.bat %hdf5check_params%
echo.Results logged in %hdf5check_log%
call hdf5check %hdf5check_params% > !hdf5check_log! 2>&1
) else (
call hdf5check %hdf5check_params%
)
exit /b exit /b
@@ -151,6 +188,10 @@ rem This is where the magic happens
) )
call :setup call :setup
if %errorlevel% neq 0 (
echo.Error setting up hdf5bt environment!
goto error
)
echo.***************************************************************************** echo.*****************************************************************************
echo. Build and Test HDF5 Library and Tools echo. Build and Test HDF5 Library and Tools

View File

@@ -1,178 +1,328 @@
@REM Copyright by The HDF Group. @echo OFF
@REM Copyright by the Board of Trustees of the University of Illinois. rem Copyright by The HDF Group.
@REM All rights reserved. rem Copyright by the Board of Trustees of the University of Illinois.
@REM rem All rights reserved.
@REM This file is part of HDF5. The full HDF5 copyright notice, including rem
@REM terms governing use, modification, and redistribution, is contained in rem This file is part of HDF5. The full HDF5 copyright notice, including
@REM the files COPYING and Copyright.html. COPYING can be found at the root rem terms governing use, modification, and redistribution, is contained in
@REM of the source code distribution tree; Copyright.html can be found at the rem the files COPYING and Copyright.html. COPYING can be found at the root
@REM root level of an installed copy of the electronic HDF5 document set and rem of the source code distribution tree; Copyright.html can be found at the
@REM is linked from the top-level documents page. It can also be found at rem root level of an installed copy of the electronic HDF5 document set and
@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have rem is linked from the top-level documents page. It can also be found at
@REM access to either file, you may request a copy from help@hdfgroup.org. rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
rem access to either file, you may request a copy from help@hdfgroup.org.
@REM This batch file is used to install HDF5 libraries and tools rem This batch file is used to install HDF5 libraries and tools
@REM Last Updated: 11/03/2004 rem Last Updated: 2/18/2007
mkdir hdf5lib setlocal enabledelayedexpansion
cd hdf5lib pushd %~dp0
mkdir debug
cd debug
mkdir bin
mkdir bindll
mkdir dll
mkdir lib
mkdir include
mkdir modsdll
cd ..
mkdir release
cd release
mkdir bin
mkdir bindll
mkdir dll
mkdir lib
mkdir include
mkdir modsdll
cd ..
cd ..
@REM Install C libraries and tools set install_dir=%systemroot%\system
copy src\*.h hdf5lib\debug\include
del hdf5lib\debug\include\*private.h
copy proj\hdf5\debug\hdf5d.lib hdf5lib\debug\lib
copy proj\hdf5dll\debug\hdf5ddll.lib hdf5lib\debug\dll
copy proj\hdf5dll\debug\hdf5ddll.dll hdf5lib\debug\dll
copy hl\tools\gifconv\gif2h5\debug\gif2h5.exe hdf5lib\debug\bin goto main
copy hl\tools\gifconv\h52gif\debug\h52gif.exe hdf5lib\debug\bin
copy tools\h5debug\debug\h5debug.exe hdf5lib\debug\bin
copy tools\h5diff\debug\h5diff.exe hdf5lib\debug\bin
copy tools\h5dump\debug\h5dump.exe hdf5lib\debug\bin
copy tools\h5import\debug\h5import.exe hdf5lib\debug\bin
copy tools\h5jam\debug\h5jam.exe hdf5lib\debug\bin
copy tools\h5ls\debug\h5ls.exe hdf5lib\debug\bin
copy tools\h5repack\debug\h5repack.exe hdf5lib\debug\bin
copy tools\h5repart\debug\h5repart.exe hdf5lib\debug\bin
copy tools\h5unjam\debug\h5unjam.exe hdf5lib\debug\bin
copy hl\tools\gifconvdll\h52gifdll\debug\h52gifdll.exe hdf5lib\debug\bindll rem Create the directory structure that we'll need to install
copy hl\tools\gifconvdll\gif2h5dll\debug\gif2h5dll.exe hdf5lib\debug\bindll :create_directories
copy tools\h5debugdll\debug\h5debugdll.exe hdf5lib\debug\bindll
copy tools\h5diffdll\debug\h5diffdll.exe hdf5lib\debug\bindll
copy tools\h5dumpdll\debug\h5dumpdll.exe hdf5lib\debug\bindll
copy tools\h5importdll\debug\h5importdll.exe hdf5lib\debug\bindll
copy tools\h5lsdll\debug\h5lsdll.exe hdf5lib\debug\bindll
copy tools\h5repackdll\debug\h5repackdll.exe hdf5lib\debug\bindll
copy tools\h5repartdll\debug\h5repartdll.exe hdf5lib\debug\bindll
copy src\*.h hdf5lib\release\include for %%a in (debug release) do (
del hdf5lib\release\include\*private.h for %%b in (bin bindll dll lib include modsdll) do (
copy proj\hdf5\release\hdf5.lib hdf5lib\release\lib if not exist hdf5lib\%%a\%%b (
copy proj\hdf5dll\release\hdf5dll.lib hdf5lib\release\dll mkdir hdf5lib\%%a\%%b
copy proj\hdf5dll\release\hdf5dll.dll hdf5lib\release\dll )
)
)
exit /b
rem This function actally copies the file over, first making sure it exists. If not, we increment nerrors
rem Expected parameters:
rem %1 - name of file to copy
rem %2 - destination to copy to
:safe_copy
if exist %1 (
copy /y %1 %2 > nul
) else (
set /a nerrors=%nerrors%+1
)
exit /b
rem Only delete a file if it actually exists. Return the status of delete if it was called
rem Expected paramters:
rem %1 - name of file to delete
:safe_delete
if exist %1 (
del /f %1 > nul
)
exit /b
copy hl\tools\gifconv\gif2h5\release\gif2h5.exe hdf5lib\release\bin rem Install C Libraries and Tools
copy hl\tools\gifconv\h52gif\release\h52gif.exe hdf5lib\release\bin :install_c
copy tools\h5debug\release\h5debug.exe hdf5lib\release\bin set nerrors=0
copy tools\h5diff\release\h5diff.exe hdf5lib\release\bin
copy tools\h5dump\release\h5dump.exe hdf5lib\release\bin rem ===DEBUG===
copy tools\h5import\release\h5import.exe hdf5lib\release\bin rem include
copy tools\h5jam\release\h5jam.exe hdf5lib\release\bin call :safe_copy src\*.h hdf5lib\debug\include
copy tools\h5ls\release\h5ls.exe hdf5lib\release\bin call :safe_delete hdf5lib\debug\include\*private.h
copy tools\h5repack\release\h5repack.exe hdf5lib\release\bin rem lib
copy tools\h5repart\release\h5repart.exe hdf5lib\release\bin call :safe_copy proj\hdf5\debug\hdf5d.lib hdf5lib\debug\lib
copy tools\h5unjam\release\h5unjam.exe hdf5lib\release\bin rem dll
call :safe_copy proj\hdf5dll\debug\hdf5ddll.lib hdf5lib\debug\dll
call :safe_copy proj\hdf5dll\debug\hdf5ddll.dll hdf5lib\debug\dll
rem bin
call :safe_copy hl\tools\gifconv\gif2h5\debug\gif2h5.exe hdf5lib\debug\bin
call :safe_copy hl\tools\gifconv\h52gif\debug\h52gif.exe hdf5lib\debug\bin
call :safe_copy tools\h5debug\debug\h5debug.exe hdf5lib\debug\bin
call :safe_copy tools\h5diff\debug\h5diff.exe hdf5lib\debug\bin
call :safe_copy tools\h5dump\debug\h5dump.exe hdf5lib\debug\bin
call :safe_copy tools\h5import\debug\h5import.exe hdf5lib\debug\bin
call :safe_copy tools\h5jam\debug\h5jam.exe hdf5lib\debug\bin
call :safe_copy tools\h5ls\debug\h5ls.exe hdf5lib\debug\bin
call :safe_copy tools\h5repack\debug\h5repack.exe hdf5lib\debug\bin
call :safe_copy tools\h5repart\debug\h5repart.exe hdf5lib\debug\bin
call :safe_copy tools\h5unjam\debug\h5unjam.exe hdf5lib\debug\bin
rem bindll
call :safe_copy hl\tools\gifconvdll\h52gifdll\debug\h52gifdll.exe hdf5lib\debug\bindll
call :safe_copy hl\tools\gifconvdll\gif2h5dll\debug\gif2h5dll.exe hdf5lib\debug\bindll
call :safe_copy tools\h5debugdll\debug\h5debugdll.exe hdf5lib\debug\bindll
call :safe_copy tools\h5diffdll\debug\h5diffdll.exe hdf5lib\debug\bindll
call :safe_copy tools\h5dumpdll\debug\h5dumpdll.exe hdf5lib\debug\bindll
call :safe_copy tools\h5importdll\debug\h5importdll.exe hdf5lib\debug\bindll
call :safe_copy tools\h5lsdll\debug\h5lsdll.exe hdf5lib\debug\bindll
call :safe_copy tools\h5repackdll\debug\h5repackdll.exe hdf5lib\debug\bindll
call :safe_copy tools\h5repartdll\debug\h5repartdll.exe hdf5lib\debug\bindll
rem ===RELEASE===
rem include
call :safe_copy src\*.h hdf5lib\release\include
call :safe_delete hdf5lib\release\include\*private.h
rem lib
call :safe_copy proj\hdf5\release\hdf5.lib hdf5lib\release\lib
rem dll
call :safe_copy proj\hdf5dll\release\hdf5dll.lib hdf5lib\release\dll
call :safe_copy proj\hdf5dll\release\hdf5dll.dll hdf5lib\release\dll
rem bin
call :safe_copy hl\tools\gifconv\gif2h5\release\gif2h5.exe hdf5lib\release\bin
call :safe_copy hl\tools\gifconv\h52gif\release\h52gif.exe hdf5lib\release\bin
call :safe_copy tools\h5debug\release\h5debug.exe hdf5lib\release\bin
call :safe_copy tools\h5diff\release\h5diff.exe hdf5lib\release\bin
call :safe_copy tools\h5dump\release\h5dump.exe hdf5lib\release\bin
call :safe_copy tools\h5import\release\h5import.exe hdf5lib\release\bin
call :safe_copy tools\h5jam\release\h5jam.exe hdf5lib\release\bin
call :safe_copy tools\h5ls\release\h5ls.exe hdf5lib\release\bin
call :safe_copy tools\h5repack\release\h5repack.exe hdf5lib\release\bin
call :safe_copy tools\h5repart\release\h5repart.exe hdf5lib\release\bin
call :safe_copy tools\h5unjam\release\h5unjam.exe hdf5lib\release\bin
rem bindll
call :safe_copy hl\tools\gifconvdll\h52gifdll\release\h52gifdll.exe hdf5lib\release\bindll
call :safe_copy hl\tools\gifconvdll\gif2h5dll\release\gif2h5dll.exe hdf5lib\release\bindll
call :safe_copy tools\h5debugdll\release\h5debugdll.exe hdf5lib\release\bindll
call :safe_copy tools\h5diffdll\release\h5diffdll.exe hdf5lib\release\bindll
call :safe_copy tools\h5dumpdll\release\h5dumpdll.exe hdf5lib\release\bindll
call :safe_copy tools\h5importdll\release\h5importdll.exe hdf5lib\release\bindll
call :safe_copy tools\h5lsdll\release\h5lsdll.exe hdf5lib\release\bindll
call :safe_copy tools\h5repackdll\release\h5repackdll.exe hdf5lib\release\bindll
call :safe_copy tools\h5repartdll\release\h5repartdll.exe hdf5lib\release\bindll
exit /b %nerrors%
copy hl\tools\gifconvdll\h52gifdll\release\h52gifdll.exe hdf5lib\release\bindll rem Install HL Libraries and Tools
copy hl\tools\gifconvdll\gif2h5dll\release\gif2h5dll.exe hdf5lib\release\bindll :install_hl
copy tools\h5debugdll\release\h5debugdll.exe hdf5lib\release\bindll set nerrors=0
copy tools\h5diffdll\release\h5diffdll.exe hdf5lib\release\bindll
copy tools\h5dumpdll\release\h5dumpdll.exe hdf5lib\release\bindll rem ===DEBUG===
copy tools\h5importdll\release\h5importdll.exe hdf5lib\release\bindll rem include
copy tools\h5lsdll\release\h5lsdll.exe hdf5lib\release\bindll call :safe_copy hl\src\*.h hdf5lib\debug\include
copy tools\h5repackdll\release\h5repackdll.exe hdf5lib\release\bindll rem lib
copy tools\h5repartdll\release\h5repartdll.exe hdf5lib\release\bindll call :safe_copy proj\hdf5_hl\debug\hdf5_hld.lib hdf5lib\debug\lib
rem dll
call :safe_copy proj\hdf5_hldll\debug\hdf5_hlddll.lib hdf5lib\debug\dll
call :safe_copy proj\hdf5_hldll\debug\hdf5_hlddll.dll hdf5lib\debug\dll
@REM Install HDF5 High Level Libraries rem ===RELEASE===
copy hl\src\*.h hdf5lib\debug\include rem include
copy "hl\c++\src\*.h" hdf5lib\debug\include call :safe_copy hl\src\*.h hdf5lib\release\include
copy proj\hdf5_hl_fortran\debug\*.mod hdf5lib\debug\include rem lib
copy proj\hdf5_hl_fortrandll\debug\*.mod hdf5lib\debug\modsdll call :safe_copy proj\hdf5_hl\release\hdf5_hl.lib hdf5lib\release\lib
rem dll
call :safe_copy proj\hdf5_hldll\release\hdf5_hldll.lib hdf5lib\release\dll
call :safe_copy proj\hdf5_hldll\release\hdf5_hldll.dll hdf5lib\release\dll
exit /b %nerrors%
copy proj\hdf5_hl\debug\hdf5_hld.lib hdf5lib\debug\lib rem Install C++ Libraries and Tools
copy proj\hdf5_hl_cpp\debug\hdf5_hl_cppd.lib hdf5lib\debug\lib :install_cpp
copy proj\hdf5_hl_fortran\debug\hdf5_hl_fortrand.lib hdf5lib\debug\lib set nerrors=0
copy proj\hdf5_hl_f90cstub\debug\hdf5_hl_f90cstubd.lib hdf5lib\debug\lib
REM ===DEBUG===
rem include
call :safe_copy "c++\src\*.h" hdf5lib\debug\include
rem lib
call :safe_copy proj\hdf5_cpp\debug\hdf5_cppd.lib hdf5lib\debug\lib
rem dll
call :safe_copy proj\hdf5_cppdll\debug\hdf5_cppddll.lib hdf5lib\debug\dll
call :safe_copy proj\hdf5_cppdll\debug\hdf5_cppddll.dll hdf5lib\debug\dll
copy proj\hdf5_hldll\debug\hdf5_hlddll.lib hdf5lib\debug\dll rem ===RELEASE===
copy proj\hdf5_hldll\debug\hdf5_hlddll.dll hdf5lib\debug\dll rem include
call :safe_copy cpp\src\*.h hdf5lib\release\include
rem lib
call :safe_copy proj\hdf5_cpp\release\hdf5_cpp.lib hdf5lib\release\lib
rem dll
call :safe_copy proj\hdf5_cppdll\release\hdf5_cppdll.lib hdf5lib\release\dll
call :safe_copy proj\hdf5_cppdll\release\hdf5_cppdll.dll hdf5lib\release\dll
copy proj\hdf5_hl_cppdll\debug\hdf5_hl_cppddll.lib hdf5lib\debug\dll exit /b %nerrors%
copy proj\hdf5_hl_cppdll\debug\hdf5_hl_cppddll.dll hdf5lib\debug\dll
rem Install HL C++ Libraries and Tools
:install_hlcpp
set nerrors=0
rem ===DEBUG===
rem include
call :safe_copy "hl\c++\src\*.h" hdf5lib\debug\include
rem lib
call :safe_copy proj\hdf5_hl_cpp\debug\hdf5_hl_cppd.lib hdf5lib\debug\lib
rem dll
call :safe_copy proj\hdf5_hl_cppdll\debug\hdf5_hl_cppddll.lib hdf5lib\debug\dll
call :safe_copy proj\hdf5_hl_cppdll\debug\hdf5_hl_cppddll.dll hdf5lib\debug\dll
copy proj\hdf5_hl_fortrandll\debug\hdf5_hl_fortranddll.lib hdf5lib\debug\dll rem ===RELEASE===
copy proj\hdf5_hl_fortrandll\debug\hdf5_hl_fortranddll.dll hdf5lib\debug\dll rem include
call :safe_copy "hl\c++\src\*.h" hdf5lib\release\include
rem lib
call :safe_copy proj\hdf5_hl_cpp\release\hdf5_hl_cpp.lib hdf5lib\release\lib
rem dll
call :safe_copy proj\hdf5_hl_cppdll\release\hdf5_hl_cppdll.lib hdf5lib\release\dll
call :safe_copy proj\hdf5_hl_cppdll\release\hdf5_hl_cppdll.dll hdf5lib\release\dll
exit /b %nerrors%
rem Install Fortran Libraries and Tools
:install_fortran
set nerrors=0
rem ===DEBUG===
rem include
call :safe_copy proj\hdf5_fortran\debug\*.mod hdf5lib\debug\include
rem lib
call :safe_copy proj\hdf5_fortran\debug\hdf5_fortrand.lib hdf5lib\debug\lib
call :safe_copy proj\hdf5_f90cstub\debug\hdf5_f90cstubd.lib hdf5lib\debug\lib
rem modsdll
call :safe_copy proj\hdf5_fortrandll\debug\*.mod hdf5lib\debug\modsdll
rem dll
call :safe_copy proj\hdf5_fortrandll\debug\hdf5_fortranddll.lib hdf5lib\debug\dll
call :safe_copy proj\hdf5_fortrandll\debug\hdf5_fortranddll.dll hdf5lib\debug\dll
call :safe_copy proj\hdf5_f90cstubdll\debug\hdf5_f90cstubddll.lib hdf5lib\debug\dll
call :safe_copy proj\hdf5_f90cstubdll\debug\hdf5_f90cstubddll.dll hdf5lib\debug\dll
copy proj\hdf5_hl_f90cstubdll\debug\hdf5_hl_f90cstubddll.lib hdf5lib\debug\dll rem ===RELEASE===
copy proj\hdf5_hl_f90cstubdll\debug\hdf5_hl_f90cstubddll.dll hdf5lib\debug\dll rem include
call :safe_copy proj\hdf5_fortran\release\*.mod hdf5lib\release\include
rem lib
call :safe_copy proj\hdf5_fortran\release\hdf5_fortran.lib hdf5lib\release\lib
call :safe_copy proj\hdf5_f90cstub\release\hdf5_f90cstub.lib hdf5lib\release\lib
rem modsdll
call :safe_copy proj\hdf5_fortrandll\release\*.mod hdf5lib\release\modsdll
rem dll
call :safe_copy proj\hdf5_fortrandll\release\hdf5_fortrandll.lib hdf5lib\release\dll
call :safe_copy proj\hdf5_fortrandll\release\hdf5_fortrandll.dll hdf5lib\release\dll
call :safe_copy proj\hdf5_f90cstubdll\release\hdf5_f90cstubdll.lib hdf5lib\release\dll
call :safe_copy proj\hdf5_f90cstubdll\release\hdf5_f90cstubdll.dll hdf5lib\release\dll
exit /b %nerrors%
rem Install HL Fortran Libraries and Tools
:install_hlfortran
set nerrors=0
rem ===DEBUG===
rem include
call :safe_copy proj\hdf5_hl_fortran\debug\*.mod hdf5lib\debug\include
rem lib
call :safe_copy proj\hdf5_hl_fortran\debug\hdf5_hl_fortrand.lib hdf5lib\debug\lib
call :safe_copy proj\hdf5_hl_f90cstub\debug\hdf5_hl_f90cstubd.lib hdf5lib\debug\lib
rem modsdll
call :safe_copy proj\hdf5_hl_fortrandll\debug\*.mod hdf5lib\debug\modsdll
rem dll
call :safe_copy proj\hdf5_hl_fortrandll\debug\hdf5_hl_fortranddll.lib hdf5lib\debug\dll
call :safe_copy proj\hdf5_hl_fortrandll\debug\hdf5_hl_fortranddll.dll hdf5lib\debug\dll
call :safe_copy proj\hdf5_hl_f90cstubdll\debug\hdf5_hl_f90cstubddll.lib hdf5lib\debug\dll
call :safe_copy proj\hdf5_hl_f90cstubdll\debug\hdf5_hl_f90cstubddll.dll hdf5lib\debug\dll
copy hl\src\*.h hdf5lib\release\include rem ===RELEASE===
copy "hl\c++\src\*.h" hdf5lib\release\include rem include
copy proj\hdf5_hl_fortran\release\*.mod hdf5lib\release\include call :safe_copy proj\hdf5_hl_fortran\release\*.mod hdf5lib\release\include
copy proj\hdf5_hl_fortrandll\release\*.mod hdf5lib\release\modsdll rem lib
call :safe_copy proj\hdf5_hl_fortran\release\hdf5_hl_fortran.lib hdf5lib\release\lib
call :safe_copy proj\hdf5_hl_f90cstub\release\hdf5_hl_f90cstub.lib hdf5lib\release\lib
rem modsdll
call :safe_copy proj\hdf5_hl_fortrandll\release\*.mod hdf5lib\release\modsdll
rem dll
call :safe_copy proj\hdf5_hl_fortrandll\release\hdf5_hl_fortrandll.lib hdf5lib\release\dll
call :safe_copy proj\hdf5_hl_fortrandll\release\hdf5_hl_fortrandll.dll hdf5lib\release\dll
call :safe_copy proj\hdf5_hl_f90cstubdll\release\hdf5_hl_f90cstubdll.lib hdf5lib\release\dll
call :safe_copy proj\hdf5_hl_f90cstubdll\release\hdf5_hl_f90cstubdll.dll hdf5lib\release\dll
exit /b %nerrors%
:main
copy proj\hdf5_hl\release\hdf5_hl.lib hdf5lib\release\lib call :create_directories
copy proj\hdf5_hl_cpp\release\hdf5_hl_cpp.lib hdf5lib\release\lib
copy proj\hdf5_hl_fortran\release\hdf5_hl_fortran.lib hdf5lib\release\lib call :install_c
copy proj\hdf5_hl_f90cstub\release\hdf5_hl_f90cstub.lib hdf5lib\release\lib if %errorlevel% equ 0 (
echo.C libraries and tools installed
) else (
echo.C libraries and tools NOT installed
)
call :install_hl
if %errorlevel% equ 0 (
echo.High Level C libraries and tools installed
) else (
echo.High Level C libraries and tools NOT installed
)
call :install_cpp
if %errorlevel% equ 0 (
echo.C++ libraries and tools installed
) else (
echo.C++ libraries and tools NOT installed
)
call :install_hlcpp
if %errorlevel% equ 0 (
echo.High Level C++ libraries and tools installed
) else (
echo.High Level C++ libraries and tools NOT installed
)
copy proj\hdf5_hldll\release\hdf5_hldll.lib hdf5lib\release\dll call :install_fortran
copy proj\hdf5_hldll\release\hdf5_hldll.dll hdf5lib\release\dll if %errorlevel% equ 0 (
echo.Fortran libraries and tools installed
copy proj\hdf5_hl_cppdll\release\hdf5_hl_cppdll.lib hdf5lib\release\dll ) else (
copy proj\hdf5_hl_cppdll\release\hdf5_hl_cppdll.dll hdf5lib\release\dll echo.Fortran libraries and tools NOT installed
)
copy proj\hdf5_hl_fortrandll\release\hdf5_hl_fortrandll.lib hdf5lib\release\dll
copy proj\hdf5_hl_fortrandll\release\hdf5_hl_fortrandll.dll hdf5lib\release\dll call :install_hlfortran
if %errorlevel% equ 0 (
copy proj\hdf5_hl_f90cstubdll\release\hdf5_hl_f90cstubdll.lib hdf5lib\release\dll echo.High Level Fortran libraries and tools installed
copy proj\hdf5_hl_f90cstubdll\release\hdf5_hl_f90cstubdll.dll hdf5lib\release\dll ) else (
echo.High Level Fortran libraries and tools NOT installed
@REM Install C++ libraries and tools )
rename c++ cpp
popd
copy cpp\src\*.h hdf5lib\debug\include endlocal & exit /b 0
copy proj\hdf5_cpp\debug\hdf5_cppd.lib hdf5lib\debug\lib
copy proj\hdf5_cppdll\debug\hdf5_cppddll.lib hdf5lib\debug\dll
copy proj\hdf5_cppdll\debug\hdf5_cppddll.dll hdf5lib\debug\dll
copy cpp\src\*.h hdf5lib\release\include
copy proj\hdf5_cpp\release\hdf5_cpp.lib hdf5lib\release\lib
copy proj\hdf5_cppdll\release\hdf5_cppdll.lib hdf5lib\release\dll
copy proj\hdf5_cppdll\release\hdf5_cppdll.dll hdf5lib\release\dll
rename cpp c++
@REM Install Fortran libraries and tools
copy proj\hdf5_fortran\debug\*.mod hdf5lib\debug\include
copy proj\hdf5_fortran\debug\hdf5_fortrand.lib hdf5lib\debug\lib
copy proj\hdf5_f90cstub\debug\hdf5_f90cstubd.lib hdf5lib\debug\lib
copy proj\hdf5_fortrandll\debug\*.mod hdf5lib\debug\modsdll
copy proj\hdf5_fortrandll\debug\hdf5_fortranddll.lib hdf5lib\debug\dll
copy proj\hdf5_fortrandll\debug\hdf5_fortranddll.dll hdf5lib\debug\dll
copy proj\hdf5_f90cstubdll\debug\hdf5_f90cstubddll.lib hdf5lib\debug\dll
copy proj\hdf5_f90cstubdll\debug\hdf5_f90cstubddll.dll hdf5lib\debug\dll
copy proj\hdf5_fortran\release\*.mod hdf5lib\release\include
copy proj\hdf5_fortran\release\hdf5_fortran.lib hdf5lib\release\lib
copy proj\hdf5_f90cstub\release\hdf5_f90cstub.lib hdf5lib\release\lib
copy proj\hdf5_fortrandll\release\*.mod hdf5lib\release\modsdll
copy proj\hdf5_fortrandll\release\hdf5_fortrandll.lib hdf5lib\release\dll
copy proj\hdf5_fortrandll\release\hdf5_fortrandll.dll hdf5lib\release\dll
copy proj\hdf5_f90cstubdll\release\hdf5_f90cstubdll.lib hdf5lib\release\dll
copy proj\hdf5_f90cstubdll\release\hdf5_f90cstubdll.dll hdf5lib\release\dll