Updating README-CONAN.md

v0.27.3
Robin Mills 5 years ago
parent 591f9e62b4
commit 0c206d1d63

@ -103,10 +103,10 @@ _Profiles for Visual Studio are discussed in detail here: [Visual Studio Notes](
| | Build Steps | Linux and macOS | Visual Studio | | | Build Steps | Linux and macOS | Visual Studio |
|:--|:--------------|--------------------------------|------------------------------| |:--|:--------------|--------------------------------|------------------------------|
| **1** | Get conan to fetch dependencies<br><br>The output from this command<br>is quite long as conan<br>downloads or builds<br>zlib, expat, curl and other dependencies.| $ conan install .. --build missing | c:\\..\\build> conan install .. --build missing --profile msvc2019Release | | _**1**_ | Get conan to fetch dependencies<br><br>The output can be quite<br>long as conan downloads and/or builds<br>zlib, expat, curl and other dependencies.| $ conan install ..<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--build missing | c:\\..\\build> conan install .. --build missing<br>&nbsp;&nbsp;&nbsp;&nbsp;--profile msvc2019Release |
| **2** | Get cmake to generate<br>makefiles or sln/vcxproj | $ cmake .. | c:\\..\\build> cmake .. -G "Visual Studio 16 2019" | _**2**_ | Get cmake to generate<br>makefiles or sln/vcxproj | $ cmake .. | c:\\..\\build> cmake&nbsp;..&nbsp;-G&nbsp;"Visual Studio 16 2019"
| **3** | Build | $ cmake --build . --config Release | c:\\..\\build> cmake --build .<br>You may prefer to open exiv2.sln and build using the IDE | | _**3**_ | Build | $ cmake --build . | c:\\..\\build>&nbsp;cmake&nbsp;--build&nbsp;.&nbsp;--config&nbsp;Release<br>You may prefer to open exiv2.sln and build using the IDE. |
| **4**| Optionally Run Test Suite | $ make tests | You must install MinGW<br>bash and python to run tests<br>See [README.md](README.md) | | _**4**_ | Optionally Run Test Suite | $ make tests | You must install MinGW<br>bash and python to run tests<br>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. 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 `<exiv2dir>\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 `<exiv2dir>\cmake\msvc_conan_profiles`. There are 26 in total:
``` ```
Profile := msvc{Edition}{Type}{Bits} 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. 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 ```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. 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 ### Changing profile settings with the conan command
It is recommended that you use profiles provided in `<exiv2dir>/cmake/msvc\_conan\_profiles'. It is recommended that you use profiles provided in `<exiv2dir>\cmake\msvc_conan_profiles`.
You can modify profile settings on the command line. 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. 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) [TOC](#TOC)
Written by Robin Mills<br>robin@clanmills.com<br>Updated: 2020-04-21 Written by Robin Mills<br>robin@clanmills.com<br>Updated: 2020-05-21

@ -1245,5 +1245,5 @@ $ sudo pkg install developer/gcc-7
[TOC](#TOC) [TOC](#TOC)
Written by Robin Mills<br>robin@clanmills.com<br>Updated: 2020-05-20 Written by Robin Mills<br>robin@clanmills.com<br>Updated: 2020-05-21

@ -1,5 +1,8 @@
#!/bin/bash #!/bin/bash
# Library of bash functions use by test/*.sh
# The scripts begin "source functions.source"
## ##
# run a test # run a test
runTest() runTest()
@ -46,7 +49,7 @@ existsTest()
} }
## ##
# copy file # copy file (used by conversions.sh)
copy() copy()
{ {
\cp "$1" "$2" \cp "$1" "$2"
@ -142,26 +145,6 @@ runTestCase()
diff $diffargs iii ttt 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 # moved here from imagetest.sh
eraseTest() eraseTest()
@ -183,9 +166,9 @@ eraseTest()
copyTest() copyTest()
{ {
num=$1 num=$1 # case number
src=$2 src=$2 # input file
dst=$3 dst=$3 # copy to hear
test=${dst}.c${num}tst test=${dst}.c${num}tst
good=$datapath/${dst}.c${num}gd good=$datapath/${dst}.c${num}gd
@ -202,9 +185,9 @@ copyTest()
iptcTest() iptcTest()
{ {
num=$1 num=$1 # case number
src=$2 src=$2 # input file
dst=$3 dst=$3 # copy to hear
test=${dst}.i${num}tst test=${dst}.i${num}tst
good=$datapath/${dst}.i${num}gd good=$datapath/${dst}.i${num}gd
@ -219,6 +202,7 @@ iptcTest()
printf "." printf "."
} }
##
# Make sure to pass the test file first and the known good file second # Make sure to pass the test file first and the known good file second
diffCheck() diffCheck()
{ {
@ -241,7 +225,6 @@ diffCheck()
fi fi
} }
## ##
# moved here from iotest.sh # moved here from iotest.sh
ioTest() ioTest()
@ -263,7 +246,6 @@ ioTest()
printf "." printf "."
} }
## ##
# moved here from iptctest.sh # moved here from iptctest.sh
printTest() printTest()
@ -390,38 +372,6 @@ real_path ()
fi 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 # print checksum for one file
checkSum() checkSum()
@ -470,7 +420,7 @@ closeHttpServer() {
} }
## ##
# prepare temp files and other variables # prepare tmp directory and variables
prepareTest() prepareTest()
{ {
## ##

Loading…
Cancel
Save