[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 :
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
copy src\H5Tinit.c ..\src
copy src\H5pubconf.h ..\src
copy fortran\src\H5f90i_gen.h ..\fortran\src
copy fortran\src\H5fortran_types.f90 ..\fortran\src
xcopy /e/i/Y *.bat ..\
copy examples\testExamples_exp_output.txt ..\examples
copy /y src\H5Tinit.c ..\src > nul
copy /y src\H5pubconf.h ..\src > nul
copy /y fortran\src\H5f90i_gen.h ..\fortran\src > nul
copy /y fortran\src\H5fortran_types.f90 ..\fortran\src > nul
xcopy /s /i /y *.bat ..\ > nul
copy /y examples\testExamples_exp_output.txt ..\examples > nul
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 . /useenv Build HDF5 using compiler settings defined
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 By Xuan Bai
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 - 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 - if building with the /useenv option, szip and zlib paths have been added
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.
@@ -69,6 +74,10 @@ rem Parse through the parameters sent to file, and set appropriate variables
rem Pass /useenv flag to devenv
set hdf5_useenv=true
) else if "%%a"=="/log" (
rem Log our results to files defined in environment
set hdf5_logresults=true
) else if "%%a"=="/?" (
rem Set errorlevel 1 and send to help
call :help
@@ -102,21 +111,49 @@ rem Setup our environment
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
rem Build HDF5 libraries and tools
: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
rem Test our libraries and tools
:test
call hdf5check %hdf5check_params%
if defined hdf5_logresults (
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
@@ -151,6 +188,10 @@ rem This is where the magic happens
)
call :setup
if %errorlevel% neq 0 (
echo.Error setting up hdf5bt environment!
goto error
)
echo.*****************************************************************************
echo. Build and Test HDF5 Library and Tools

View File

@@ -1,178 +1,328 @@
@REM Copyright by The HDF Group.
@REM Copyright by the Board of Trustees of the University of Illinois.
@REM All rights reserved.
@REM
@REM This file is part of HDF5. The full HDF5 copyright notice, including
@REM terms governing use, modification, and redistribution, is contained in
@REM the files COPYING and Copyright.html. COPYING can be found at the root
@REM of the source code distribution tree; Copyright.html can be found at the
@REM root level of an installed copy of the electronic HDF5 document set and
@REM is linked from the top-level documents page. It can also be found at
@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.
@echo OFF
rem Copyright by The HDF Group.
rem Copyright by the Board of Trustees of the University of Illinois.
rem All rights reserved.
rem
rem This file is part of HDF5. The full HDF5 copyright notice, including
rem terms governing use, modification, and redistribution, is contained in
rem the files COPYING and Copyright.html. COPYING can be found at the root
rem of the source code distribution tree; Copyright.html can be found at the
rem root level of an installed copy of the electronic HDF5 document set and
rem is linked from the top-level documents page. It can also be found at
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 Last Updated: 11/03/2004
rem This batch file is used to install HDF5 libraries and tools
rem Last Updated: 2/18/2007
mkdir hdf5lib
cd hdf5lib
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 ..
setlocal enabledelayedexpansion
pushd %~dp0
@REM Install C libraries and tools
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
set install_dir=%systemroot%\system
copy hl\tools\gifconv\gif2h5\debug\gif2h5.exe hdf5lib\debug\bin
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
goto main
copy hl\tools\gifconvdll\h52gifdll\debug\h52gifdll.exe hdf5lib\debug\bindll
copy hl\tools\gifconvdll\gif2h5dll\debug\gif2h5dll.exe hdf5lib\debug\bindll
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
rem Create the directory structure that we'll need to install
:create_directories
copy src\*.h hdf5lib\release\include
del hdf5lib\release\include\*private.h
copy proj\hdf5\release\hdf5.lib hdf5lib\release\lib
copy proj\hdf5dll\release\hdf5dll.lib hdf5lib\release\dll
copy proj\hdf5dll\release\hdf5dll.dll hdf5lib\release\dll
for %%a in (debug release) do (
for %%b in (bin bindll dll lib include modsdll) do (
if not exist hdf5lib\%%a\%%b (
mkdir hdf5lib\%%a\%%b
)
)
)
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
copy hl\tools\gifconv\gif2h5\release\gif2h5.exe hdf5lib\release\bin
copy hl\tools\gifconv\h52gif\release\h52gif.exe hdf5lib\release\bin
copy tools\h5debug\release\h5debug.exe hdf5lib\release\bin
copy tools\h5diff\release\h5diff.exe hdf5lib\release\bin
copy tools\h5dump\release\h5dump.exe hdf5lib\release\bin
copy tools\h5import\release\h5import.exe hdf5lib\release\bin
copy tools\h5jam\release\h5jam.exe hdf5lib\release\bin
copy tools\h5ls\release\h5ls.exe hdf5lib\release\bin
copy tools\h5repack\release\h5repack.exe hdf5lib\release\bin
copy tools\h5repart\release\h5repart.exe hdf5lib\release\bin
copy tools\h5unjam\release\h5unjam.exe hdf5lib\release\bin
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
)
copy hl\tools\gifconvdll\h52gifdll\release\h52gifdll.exe hdf5lib\release\bindll
copy hl\tools\gifconvdll\gif2h5dll\release\gif2h5dll.exe hdf5lib\release\bindll
copy tools\h5debugdll\release\h5debugdll.exe hdf5lib\release\bindll
copy tools\h5diffdll\release\h5diffdll.exe hdf5lib\release\bindll
copy tools\h5dumpdll\release\h5dumpdll.exe hdf5lib\release\bindll
copy tools\h5importdll\release\h5importdll.exe hdf5lib\release\bindll
copy tools\h5lsdll\release\h5lsdll.exe hdf5lib\release\bindll
copy tools\h5repackdll\release\h5repackdll.exe hdf5lib\release\bindll
copy tools\h5repartdll\release\h5repartdll.exe hdf5lib\release\bindll
@REM Install HDF5 High Level Libraries
copy hl\src\*.h hdf5lib\debug\include
copy "hl\c++\src\*.h" hdf5lib\debug\include
copy proj\hdf5_hl_fortran\debug\*.mod hdf5lib\debug\include
copy proj\hdf5_hl_fortrandll\debug\*.mod hdf5lib\debug\modsdll
exit /b
copy proj\hdf5_hl\debug\hdf5_hld.lib hdf5lib\debug\lib
copy proj\hdf5_hl_cpp\debug\hdf5_hl_cppd.lib hdf5lib\debug\lib
copy proj\hdf5_hl_fortran\debug\hdf5_hl_fortrand.lib hdf5lib\debug\lib
copy proj\hdf5_hl_f90cstub\debug\hdf5_hl_f90cstubd.lib hdf5lib\debug\lib
rem Install C Libraries and Tools
:install_c
set nerrors=0
rem ===DEBUG===
rem include
call :safe_copy src\*.h hdf5lib\debug\include
call :safe_delete hdf5lib\debug\include\*private.h
rem lib
call :safe_copy proj\hdf5\debug\hdf5d.lib hdf5lib\debug\lib
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 proj\hdf5_hldll\debug\hdf5_hlddll.lib hdf5lib\debug\dll
copy proj\hdf5_hldll\debug\hdf5_hlddll.dll hdf5lib\debug\dll
rem Install HL Libraries and Tools
:install_hl
set nerrors=0
copy proj\hdf5_hl_cppdll\debug\hdf5_hl_cppddll.lib hdf5lib\debug\dll
copy proj\hdf5_hl_cppdll\debug\hdf5_hl_cppddll.dll hdf5lib\debug\dll
rem ===DEBUG===
rem include
call :safe_copy hl\src\*.h hdf5lib\debug\include
rem lib
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
copy proj\hdf5_hl_fortrandll\debug\hdf5_hl_fortranddll.lib hdf5lib\debug\dll
copy proj\hdf5_hl_fortrandll\debug\hdf5_hl_fortranddll.dll hdf5lib\debug\dll
rem ===RELEASE===
rem include
call :safe_copy hl\src\*.h hdf5lib\release\include
rem lib
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
copy proj\hdf5_hl_f90cstubdll\debug\hdf5_hl_f90cstubddll.lib hdf5lib\debug\dll
copy proj\hdf5_hl_f90cstubdll\debug\hdf5_hl_f90cstubddll.dll hdf5lib\debug\dll
copy hl\src\*.h hdf5lib\release\include
copy "hl\c++\src\*.h" hdf5lib\release\include
copy proj\hdf5_hl_fortran\release\*.mod hdf5lib\release\include
copy proj\hdf5_hl_fortrandll\release\*.mod hdf5lib\release\modsdll
copy proj\hdf5_hl\release\hdf5_hl.lib hdf5lib\release\lib
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
copy proj\hdf5_hl_f90cstub\release\hdf5_hl_f90cstub.lib hdf5lib\release\lib
copy proj\hdf5_hldll\release\hdf5_hldll.lib hdf5lib\release\dll
copy proj\hdf5_hldll\release\hdf5_hldll.dll hdf5lib\release\dll
copy proj\hdf5_hl_cppdll\release\hdf5_hl_cppdll.lib hdf5lib\release\dll
copy proj\hdf5_hl_cppdll\release\hdf5_hl_cppdll.dll hdf5lib\release\dll
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
copy proj\hdf5_hl_f90cstubdll\release\hdf5_hl_f90cstubdll.lib hdf5lib\release\dll
copy proj\hdf5_hl_f90cstubdll\release\hdf5_hl_f90cstubdll.dll hdf5lib\release\dll
@REM Install C++ libraries and tools
rename c++ cpp
copy cpp\src\*.h hdf5lib\debug\include
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
exit /b %nerrors%
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
rem Install C++ Libraries and Tools
:install_cpp
set nerrors=0
rename cpp c++
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
@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
rem ===RELEASE===
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_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
exit /b %nerrors%
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
rem ===RELEASE===
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
rem ===RELEASE===
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
rem ===RELEASE===
rem include
call :safe_copy proj\hdf5_hl_fortran\release\*.mod hdf5lib\release\include
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
call :create_directories
call :install_c
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
)
call :install_fortran
if %errorlevel% equ 0 (
echo.Fortran libraries and tools installed
) else (
echo.Fortran libraries and tools NOT installed
)
call :install_hlfortran
if %errorlevel% equ 0 (
echo.High Level Fortran libraries and tools installed
) else (
echo.High Level Fortran libraries and tools NOT installed
)
popd
endlocal & exit /b 0