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 |
|:--|:--------------|--------------------------------|------------------------------|
| **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 |
| **2** | Get cmake to generate<br>makefiles or sln/vcxproj | $ cmake .. | c:\\..\\build> cmake .. -G "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 |
| **4**| Optionally Run Test Suite | $ make tests | You must install MinGW<br>bash and python to run tests<br>See [README.md](README.md) |
| _**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&nbsp;..&nbsp;-G&nbsp;"Visual Studio 16 2019"
| _**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) |
@ -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 `<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}
@ -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 `<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.
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<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)
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
# 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()
{
##

Loading…
Cancel
Save