#1109 and #1041 Added documentation and log files to the published builds.

v0.27.3
Robin Mills 10 years ago
parent 57a4a08458
commit aa1e9e88e5

@ -0,0 +1,123 @@
ReadMe.txt
----------
Build: __BUILD__
platform = linux
----------------
Structure of the bundle:
dist/linux/bin/exiv2.exe exiv2 and sample applications
dist/linux/lib/libexiv2.so.14.0.0 shared library
.../lib/exiv2.lib libraries for exiv2 and expat and zlib)
/include/exiv2/ include files
/share/ man pages
dist/samples/exifprint.cpp sample code
dist/logs/ log files
To run exiv2:
$ cd dist
$ export LD_LIBRARY_PATH=$PWD/lib
$ linux/bin/exiv2
To compile and link your own code:
$ cd dist
$ export PKG_CONFIG_PATH=$PWD/linux/lib/pkgconfig
$ g++ -Ilinux/include -Llinux/lib samples/exifprint.cpp -lexiv2 -o exifprint
$ ./exifprint --version
exiv2=0.25.0
...
xmlns=xmpidq:http://ns.adobe.com/xmp/Identifier/qual/1.0/
$
platform = macosx
-----------------
Structure of the bundle:
dist/macosx/bin/exiv2.exe exiv2 and sample applications
.../lib/libexiv2.so.14.0.0.dylib shared library
/lib/exiv2.lib libraries for exiv2/expat/zlib
/include/exiv2/ include files
/share/ man pages
dist/logs/ log files
dist/samples/exifprint.cpp sample code
To run exiv2:
$ cd dist
$ export DYLD_LIBRARY_PATH=$PWD/lib
$ macosx/bin/exiv2
To compile and link your own code:
Caution:
You may need to install pkg-config with Mac Ports
To install Mac Ports: https://www.macports.org
To install pkg-config: $ sudo port install pkgconfig
$ cd dist
$ export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$PWD/macosx/lib/pkgconfig"
$ g++ -Imacosx/include -Lmacosx/lib samples/exifprint.cpp -lexiv2 -o exifprint
$ ./exifprint --version
exiv2=0.25.0
...
xmlns=xmpidq:http://ns.adobe.com/xmp/Identifier/qual/1.0/
$
platform = cygwin
-----------------
dist/cygwin/bin/exiv2.exe exiv2.exe and sample applications
.../bin/cygexiv2-14.dll shared library
/lib/exiv2.dll.a libraries for exiv2/expat/zlib
/include/exiv2/ include files
/share/ man pages
dist/samples/exifprint.cpp sample code
dist/logs/ log files
To run exiv2.exe:
$ cd dist
$ cygwin/bin/exiv2
To compile and link your own code:
$ cd dist
$ export PKG_CONFIG_PATH=cygwin/lib/pkgconfig
$ g++ -Icygwin/include -Lcygwin/lib samples/exifprint.cpp -lexiv2 -o exifprint
$ ./exifprint --version
exiv2=0.25.0
...
xmlns=xmpidq:http://ns.adobe.com/xmp/Identifier/qual/1.0/
$
platform = msvc
---------------
dist\2013\x64\dll\Release\bin\exiv2.exe exiv2.exe and sample applications
...\bin\exiv2.dll dlls for exiv2/expat/zlib
\lib\exiv2.lib libraries for exiv2/expat/zlib
\include\exiv2/ include files
\share\ man pages
samples\exifprint.cpp sample code
logs\ log files
To run exiv2.exe:
c:\temp> cd dist
c:\temp\dist> set PATH=%PATH%;%CD%\2013\x64\dll\Release\bin
c:\temp\dist> exiv2
To compile and link your own code:
Caution: You will need the same version of Visual Studio as the build
You will need to use "Visual Studio Command Prompt"
or initialize the DOS environment by calling vcvarsall.bat
c:\temp> cd dist
c:\temp\dist> cl /EHsc -I2013\x64\dll\Release\include /MD samples\exifprint.cpp /link 2013\x64\dll\Release\lib\exiv2.lib
c:\temp\dist> exifprint --version
exiv2=0.25.0
...
xmlns=xmpidq:http://ns.adobe.com/xmp/Identifier/qual/1.0/
c:\temp\dist>
Robin Mills
robin@clanmills.com
2015-12-12

@ -17,10 +17,10 @@ result=0
# JOB_NAME is defined when script is called by Jenkins # JOB_NAME is defined when script is called by Jenkins
# example: JOB_NAME=trunk-cmake-daily/label=msvc # example: JOB_NAME=trunk-cmake-daily/label=msvc
# PLATFORM must be defined as msvc when called from ssh # PLATFORM must be defined as msvc when called from ssh
if [ ! -z "$JOB_NAME" ];then if [ ! -z "$JOB_NAME" ];then
PLATFORM=$(echo $JOB_NAME | cut -d= -f 2) PLATFORM=$(echo $JOB_NAME | cut -d= -f 2)
fi fi
if [ "$PLATFORM" == "" ]; then if [ "$PLATFORM" == "" ]; then
export PLATFORM='' export PLATFORM=''
if [ `uname` == Darwin ]; then if [ `uname` == Darwin ]; then
PLATFORM=macosx PLATFORM=macosx
@ -51,36 +51,38 @@ else
dist=$PWD/build/dist/$PLATFORM dist=$PWD/build/dist/$PLATFORM
exe='' exe=''
bin=bin bin=bin
if [ -e $exiv2/CMakeCache.txt ]; then rm -rf $exiv2/CMakeCache.txt ; fi if [ -e $exiv2/CMakeCache.txt ]; then rm -rf $exiv2/CMakeCache.txt ; fi
fi fi
## ##
# create a clean directory for an out-of-source build # create a clean directory for an out-of-source build
rm -rf $dist rm -rf $dist
mkdir -p $dist mkdir -p $dist
mkdir -p $build/dist/logs
echo "---- dist = $dist ------" echo "---- dist = $dist ------"
echo "---- build = $build ------" echo "---- build = $build ------"
## ##
# perform the build # perform the build
if [ "$PLATFORM" == "msvc" ]; then (
if [ "$PLATFORM" == "msvc" ]; then
## ##
# get windows cmd.exe to perform the build # get windows cmd.exe to perform the build
# use a subshell to restore the path # use a subshell to restore the path
( (
PATH="$msvc:/cygdrive/c/Program Files/csvn/bin:/cygdrive/c/Program Files (x86)/WANdisco/Subversion/csvn/bin:/cygdrive/c/Program Files/7-zip:/cygdrive/c/Program Files (x86)/cmake/bin:$PATH:/cygdrive/c/Windows/System32" PATH="$msvc:/cygdrive/c/Program Files/csvn/bin:/cygdrive/c/Program Files (x86)/WANdisco/Subversion/csvn/bin:/cygdrive/c/Program Files/7-zip:/cygdrive/c/Program Files (x86)/cmake/bin:$PATH:/cygdrive/c/Windows/System32"
cmd.exe /c "cd $build && vcvars $vs $arch && cmakeBuild --rebuild --exiv2=$exiv2 $*" cmd.exe /c "cd $build && vcvars $vs $arch && cmakeBuild --rebuild --exiv2=$exiv2 $*"
result=$? result=$?
) )
else else
pushd $build > /dev/null pushd $build > /dev/null
cmake -DCMAKE_INSTALL_PREFIX=$dist -DEXIV2_ENABLE_NLS=OFF $exiv2 cmake -DCMAKE_INSTALL_PREFIX=$dist -DEXIV2_ENABLE_NLS=OFF $exiv2
make make
cmake --build . --target install cmake --build . --target install
popd > /dev/null popd > /dev/null
fi fi
) | tee "$build/dist/logs/build.log"
## ##
# test the build # test the build
if [ -e $dist/$bin/exiv2$exe ]; then if [ -e $dist/$bin/exiv2$exe ]; then
@ -91,25 +93,28 @@ if [ -e $dist/$bin/exiv2$exe ]; then
# to be sure we run the tests with the newly built library # to be sure we run the tests with the newly built library
export DYLD_LIBRARY_PATH=$dist/lib export DYLD_LIBRARY_PATH=$dist/lib
export LD_LIBRARY_PATH=$dist/lib export LD_LIBRARY_PATH=$dist/lib
for test in addmoddel.sh \ (
bugfixes-test.sh \ for test in addmoddel.sh \
exifdata-test.sh \ bugfixes-test.sh \
exiv2-test.sh \ exifdata-test.sh \
imagetest.sh \ exiv2-test.sh \
iotest.sh \ imagetest.sh \
iptctest.sh \ iotest.sh \
modify-test.sh \ iptctest.sh \
path-test.sh \ modify-test.sh \
preview-test.sh \ path-test.sh \
stringto-test.sh \ preview-test.sh \
tiff-test.sh \ stringto-test.sh \
write-test.sh \ tiff-test.sh \
write2-test.sh \ write-test.sh \
xmpparser-test.sh \ write2-test.sh \
conversions.sh xmpparser-test.sh \
do conversions.sh
do
echo '++' $test '++' ; ./$test echo '++' $test '++' ; ./$test
done done
) | tee "$build/dist/logs/test.log"
popd > /dev/null popd > /dev/null
$EXIV2_BINDIR/exiv2 -vV $EXIV2_BINDIR/exiv2 -vV
@ -141,16 +146,21 @@ if [ -e $dist/$bin/exiv2$exe ]; then
dom=$(date '+%d') # 1..31 day of the month dom=$(date '+%d') # 1..31 day of the month
mon=$(date '+%m') # 1..12 month mon=$(date '+%m') # 1..12 month
date=$(date '+%Y-%m-%d+%H-%M-%S') date=$(date '+%Y-%m-%d+%H-%M-%S')
svn=$($EXIV2_BINDIR/exiv2$exe -vVg|grep -e ^svn | cut -d= -f 2) svn=$($EXIV2_BINDIR/exiv2$exe -vV | grep -e ^svn | cut -d= -f 2)
b="${PLATFORM}-svn-${svn}-date-${date}.tar.gz" b="${PLATFORM}-svn-${svn}-date-${date}.tar.gz"
# add documentation and samples to dist
cat contrib/buildserver/dailyReadMe.txt | sed -E -e "s/__BUILD__/$b/" > "$build/dist/ReadMe.txt"
mkdir -p "$build/dist/samples/"
cp samples/exifprint.cpp "$build/dist/samples/"
# create the bundle # create the bundle
pushd build pushd "$build" > /dev/null
if [ -e "$b" ]; then rm -rf "$b"; fi rm -rf *.tar.gz
tar czf "$b" dist/ tar czf "$b" dist/
ls -alt ls -alt
mv $b .. mv $b ..
popd popd > /dev/null
# clean userContent/build directories # clean userContent/build directories
# daily > 50 days; weekly > 1 year; monthly > 5 years # daily > 50 days; weekly > 1 year; monthly > 5 years
@ -161,7 +171,7 @@ if [ -e $dist/$bin/exiv2$exe ]; then
# store the build # store the build
cp $b $daily cp $b $daily
if [ "$dow" == "1" ]; then cp $b $weely; fi # Monday if [ "$dow" == "1" ]; then cp $b $weely; fi # Monday
if [ "$dom" == "1" ]; then cp $b $monly; fi if [ "$dom" == "1" ]; then cp $b $monly; fi # First day of the month
echo '***' build = $b '***' echo '***' build = $b '***'
else else

@ -16,6 +16,12 @@ try {
return 1; return 1;
} }
if ( strcmp(argv[1],"--version") == 0 ) {
exv_grep_keys_t keys;
Exiv2::dumpLibraryInfo(std::cout,keys);
return 0;
}
Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(argv[1]); Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(argv[1]);
assert(image.get() != 0); assert(image.get() != 0);
image->readMetadata(); image->readMetadata();

Loading…
Cancel
Save