From 0c206d1d63671b3631eeb8e36a9a92a93be6f76e Mon Sep 17 00:00:00 2001 From: Robin Mills Date: Thu, 21 May 2020 18:43:49 +0100 Subject: [PATCH] Updating README-CONAN.md --- README-CONAN.md | 16 +++++----- README.md | 2 +- test/functions.source | 74 +++++++------------------------------------ 3 files changed, 21 insertions(+), 71 deletions(-) diff --git a/README-CONAN.md b/README-CONAN.md index 0a428ec2..c69d6493 100644 --- a/README-CONAN.md +++ b/README-CONAN.md @@ -103,10 +103,10 @@ _Profiles for Visual Studio are discussed in detail here: [Visual Studio Notes]( | | Build Steps | Linux and macOS | Visual Studio | |:--|:--------------|--------------------------------|------------------------------| -| **1** | Get conan to fetch dependencies

The output from this command
is quite long as conan
downloads or builds
zlib, expat, curl and other dependencies.| $ conan install .. --build missing | c:\\..\\build> conan install .. --build missing --profile msvc2019Release | -| **2** | Get cmake to generate
makefiles or sln/vcxproj | $ cmake .. | c:\\..\\build> cmake .. -G "Visual Studio 16 2019" -| **3** | Build | $ cmake --build . --config Release | c:\\..\\build> cmake --build .
You may prefer to open exiv2.sln and build using the IDE | -| **4**| Optionally Run Test Suite | $ make tests | You must install MinGW
bash and python to run tests
See [README.md](README.md) | +| _**1**_ | Get conan to fetch dependencies

The output can be quite
long as conan downloads and/or builds
zlib, expat, curl and other dependencies.| $ conan install ..
     --build missing | c:\\..\\build> conan install .. --build missing
    --profile msvc2019Release | +| _**2**_ | Get cmake to generate
makefiles or sln/vcxproj | $ cmake .. | c:\\..\\build> cmake .. -G "Visual Studio 16 2019" +| _**3**_ | Build | $ cmake --build . | c:\\..\\build> cmake --build . --config Release
You may prefer to open exiv2.sln and build using the IDE. | +| _**4**_ | Optionally Run Test Suite | $ make tests | You must install MinGW
bash and python to run tests
See [README.md](README.md) | @@ -196,7 +196,7 @@ Exiv2 v0.27 can be built with VS 2008, 2010, 2012, 2013, 2015 , 2017 and 2019. Exiv2 v0.28 is being "modernised" to C++11 and will not support C++98. We don't expect Exiv2 v0.28 to build with VS versions earlier than VS 2015. -You create profiles in %HOMEPATH%\.conan\profiles with a text editor. For your convenience, you'll find profiles in `\cmake/msvc\_conan\_profiles`. There are 26 in total: +You create profiles in %HOMEPATH%\.conan\profiles with a text editor. For your convenience, you'll find profiles in `\cmake\msvc_conan_profiles`. There are 26 in total: ``` Profile := msvc{Edition}{Type}{Bits} @@ -283,7 +283,7 @@ The default builds of Exiv2 and sample applications build and use DLLs. To build static libraries, use the cmake option `-DBUILD_SHARED_LIBS=Off`. You will probably also want to use the static run-time. The default is to use the dynamic run-time library. ```bash -$ cmake -DBUILD_SHARED_LIBS=Off -DEXIV2_ENABLE_DYNAMIC_RUNTIME=Off +$ cmake .. -DBUILD_SHARED_LIBS=Off -DEXIV2_ENABLE_DYNAMIC_RUNTIME=Off ``` If you wish to use the static C run-time library, use the following option in the conan profile. @@ -297,7 +297,7 @@ You should link everything with the dynamic or static run-time. You can link a s ### Changing profile settings with the conan command -It is recommended that you use profiles provided in `/cmake/msvc\_conan\_profiles'. +It is recommended that you use profiles provided in `\cmake\msvc_conan_profiles`. You can modify profile settings on the command line. The following example demonstrates making substantial changes to profile settings by performing a 32 bit build using Visual Studio 2015 with a 2017 profile! This example is not considered good practice, it is an illustration to some conan flexibility which be useful when your build environment is automated. @@ -590,4 +590,4 @@ $ cmake -DEXIV2_ENABLE_WEBREADY=ON -DEXIV2_ENABLE_CURL=ON -DEXIV2_ENABLE_SSH=ON [TOC](#TOC) -Written by Robin Mills
robin@clanmills.com
Updated: 2020-04-21 +Written by Robin Mills
robin@clanmills.com
Updated: 2020-05-21 diff --git a/README.md b/README.md index 3b7c42f1..b8752413 100644 --- a/README.md +++ b/README.md @@ -1245,5 +1245,5 @@ $ sudo pkg install developer/gcc-7 [TOC](#TOC) -Written by Robin Mills
robin@clanmills.com
Updated: 2020-05-20 +Written by Robin Mills
robin@clanmills.com
Updated: 2020-05-21 diff --git a/test/functions.source b/test/functions.source index cd834b36..f780cec5 100644 --- a/test/functions.source +++ b/test/functions.source @@ -1,5 +1,8 @@ #!/bin/bash +# Library of bash functions use by test/*.sh +# The scripts begin "source functions.source" + ## # run a test runTest() @@ -46,7 +49,7 @@ existsTest() } ## -# copy file +# copy file (used by conversions.sh) copy() { \cp "$1" "$2" @@ -142,26 +145,6 @@ runTestCase() diff $diffargs iii ttt } -## -# moved here from bugfixes-test.sh -prep_file() -{ - echo `prep_any_file $1 exiv2-bug$1.jpg` -} - -prep_empty_file() -{ - echo `prep_any_file $1 exiv2-empty.jpg` -} - -prep_any_file() -{ - printf "$1 " >&3 - echo '------>' Bug $1 '<-------' >&2 - copyTestFile $2 exiv2-bug$1.jpg - echo exiv2-bug$1.jpg -} - ## # moved here from imagetest.sh eraseTest() @@ -183,9 +166,9 @@ eraseTest() copyTest() { - num=$1 - src=$2 - dst=$3 + num=$1 # case number + src=$2 # input file + dst=$3 # copy to hear test=${dst}.c${num}tst good=$datapath/${dst}.c${num}gd @@ -202,9 +185,9 @@ copyTest() iptcTest() { - num=$1 - src=$2 - dst=$3 + num=$1 # case number + src=$2 # input file + dst=$3 # copy to hear test=${dst}.i${num}tst good=$datapath/${dst}.i${num}gd @@ -219,6 +202,7 @@ iptcTest() printf "." } +## # Make sure to pass the test file first and the known good file second diffCheck() { @@ -241,7 +225,6 @@ diffCheck() fi } - ## # moved here from iotest.sh ioTest() @@ -263,7 +246,6 @@ ioTest() printf "." } - ## # moved here from iptctest.sh printTest() @@ -390,38 +372,6 @@ real_path () fi } -copyVideoFiles () -{ - pushd "$testdir" 2>/dev/null >/dev/null - - ## - # find video files data/video and copy them for testing - declare -a videos - for video in $datadir/video/* ; do - # http://stackoverflow.com/questions/965053/extract-filename-and-extension-in-bash - ext="${video##*.}" - if [ $ext != out ]; then - copyTestFile "$video" - videos+=($(basename "$video")) - fi - done - - ## - # TODO: remove debugging code - if [ "$FACTORY" == "rmills-mbp.localXX" ]; then - for v in write-video-test.out video-test.out; do - cp ~/gnu/exiv2/testdata/trunk/video/$v ~/gnu/exiv2/video13/test/data/video/ - done - fi - - # http://stackoverflow.com/questions/7442417/how-to-sort-an-array-in-bash - # readarray -t sorted < <(printf '%s\0' "${videos[@]}" | sort -z | xargs -0n1) - # echo ${videos[*]} - # unset videos - - popd 2>/dev/null >/dev/null -} - ## # print checksum for one file checkSum() @@ -470,7 +420,7 @@ closeHttpServer() { } ## -# prepare temp files and other variables +# prepare tmp directory and variables prepareTest() { ##