From fded2da9782ace344f764db6ac4d4e53f16c1bde Mon Sep 17 00:00:00 2001 From: Robin Mills Date: Fri, 20 Nov 2020 18:55:48 +0000 Subject: [PATCH 1/6] Documentation revision in response to #1394 --- README-CONAN.md | 30 +++++++++++--------- README.md | 12 ++++---- cmake/msvc_conan_profiles/msvc2019Debug32 | 12 ++++++++ cmake/msvc_conan_profiles/msvc2019Release32 | 12 ++++++++ matrix-standard-vector-logo-xs.png | Bin 0 -> 7397 bytes 5 files changed, 48 insertions(+), 18 deletions(-) create mode 100755 cmake/msvc_conan_profiles/msvc2019Debug32 create mode 100755 cmake/msvc_conan_profiles/msvc2019Release32 create mode 100644 matrix-standard-vector-logo-xs.png diff --git a/README-CONAN.md b/README-CONAN.md index 7ba3cf3b..1afec592 100644 --- a/README-CONAN.md +++ b/README-CONAN.md @@ -1,3 +1,7 @@ +| Travis | AppVeyor | GitLab| Codecov| Repology| Chat | +|:-------------:|:-------------:|:-----:|:------:|:-------:|:----:| +| [![Build Status](https://travis-ci.org/Exiv2/exiv2.svg?branch=0.27-maintenance)](https://travis-ci.org/Exiv2/exiv2) | [![Build status](https://ci.appveyor.com/api/projects/status/d6vxf2n0cp3v88al/branch/0.27-maintenance?svg=true)](https://ci.appveyor.com/project/piponazo/exiv2-wutfp/branch/0.27-maintenance) | [![pipeline status](https://gitlab.com/D4N/exiv2/badges/0.27-maintenance/pipeline.svg)](https://gitlab.com/D4N/exiv2/commits/0.27-maintenance) | [![codecov](https://codecov.io/gh/Exiv2/exiv2/branch/0.27-maintenance/graph/badge.svg)](https://codecov.io/gh/Exiv2/exiv2) | [![Packaging status](https://repology.org/badge/tiny-repos/exiv2.svg)](https://repology.org/metapackage/exiv2/versions) | [![#exiv2-chat on matrix.org](matrix-standard-vector-logo-xs.png)](https://matrix.to/#/#exiv2-chat:matrix.org) | + ![Exiv2](exiv2.png) # Building Exiv2 and dependencies with conan @@ -78,7 +82,7 @@ $ conan profile list ``` _**Visual Studio Users**_ -_The profile msvc2019Release `%USERPROFILE%\.conan\profiles\msvc2019Release` is:_ +_The profile msvc2019Release96 in `%USERPROFILE%\.conan\profiles\msvc2019Release64` is:_ ```ini [build_requires] @@ -103,7 +107,7 @@ _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 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 | +| _**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 msvc2019Release64 | | _**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) | @@ -195,17 +199,17 @@ 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`. ``` Profile := msvc{Edition}{Type}{Bits} Edition := { 2019 | 2017 | 2015 } Type := { Release | Debug } -Bits := { 64 | 32 } # 32 bit build is not provided for 2019 -Examples: msvc2019Release msvc2017Release64 msvc2015Debug32 +Bits := { 64 | 32 } +Examples: msvc2019Release64 msvc2017Release64 msvc2015Debug32 ``` -The profile msvc2019Release is as follows: +The profile msvc2019Release64 is as follows: ```ini [build_requires] @@ -247,8 +251,8 @@ CMake provides Generators for different editions of Visual Studio. The 64 and 3 | Architecture | Visual Studio 2019 | Visual Studio 2017 | Visual Studio 2015 | |:--------- |--------------------|--------------------|--------------------|--------------------| -| 64 bit | "Visual Studio 16 2019" | "Visual Studio 15 2017 Win64" | "Visual Studio 14 2015 Win64" | -| 32 bit | Not provided | "Visual Studio 15 2017" | "Visual Studio 14 2015" | +| 64 bit | "Visual Studio 16 2019" | "Visual Studio 15 2017 Win64" | "Visual Studio 14 2015 Win64" | +| 32 bit | "Visual Studio 16 2019" -A Win32 | "Visual Studio 15 2017" | "Visual Studio 14 2015" | ### Recommended settings for Visual Studio @@ -264,16 +268,16 @@ CMake provides Generators for different editions of Visual Studio. The 64 and 3 || Visual Studio 2019 | Visual Studio 2017 | Visual Studio 2015 | |:-------|-------|------|--------------| -| _**conan install .. --profile**_ | msvc2019Debug | msvc2017Debug64 | msvc2015Debug64 | +| _**conan install .. --profile**_ | msvc2019Debug64 | msvc2017Debug64 | msvc2015Debug64 | | _**profile**_
_ | build\_type=Debug
compiler.runtime=MDd | build\_type=Debug
compiler.runtime=MDd | build_type=Debug
compiler.runtime=MDd | ##### 32bit Builds || Visual Studio 2019 | Visual Studio 2017 | Visual Studio 2015 | |:-----------|--------------------|--------------------|--------------------| -| _**conan install .. --profile**_ | Not provided | msvc2017Release32 | msvc2015Release32 | -| _**cmake -G**_ | Not provided | "Visual Studio 15 2017" | "Visual Studio 14 2015" | -| _**profile**_
_ | Not provided | arch=x86
arch\_build=x86 | arch=x86
arch\_build=x86 | +| _**conan install .. --profile**_ | msvc2019Release32 | msvc2017Release32 | msvc2015Release32 | +| _**cmake -G**_ | "Visual Studio 15 2019" -A Win32 | "Visual Studio 15 2017" | "Visual Studio 14 2015" | +| _**profile**_
_ | arch=x86
arch\_build=x86 | arch=x86
arch\_build=x86 | arch=x86
arch\_build=x86 | ##### Static Builds @@ -589,4 +593,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-05-21 +Written by Robin Mills
robin@clanmills.com
Updated: 2020-11-08 diff --git a/README.md b/README.md index a79ebc48..ddc65bf8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -| Travis | AppVeyor | GitLab| Codecov| Repology| -|:-------------:|:-------------:|:-----:|:------:|:-------:| -| [![Build Status](https://travis-ci.org/Exiv2/exiv2.svg?branch=0.27-maintenance)](https://travis-ci.org/Exiv2/exiv2) | [![Build status](https://ci.appveyor.com/api/projects/status/d6vxf2n0cp3v88al/branch/0.27-maintenance?svg=true)](https://ci.appveyor.com/project/piponazo/exiv2-wutfp/branch/0.27-maintenance) | [![pipeline status](https://gitlab.com/D4N/exiv2/badges/0.27-maintenance/pipeline.svg)](https://gitlab.com/D4N/exiv2/commits/0.27-maintenance) | [![codecov](https://codecov.io/gh/Exiv2/exiv2/branch/0.27-maintenance/graph/badge.svg)](https://codecov.io/gh/Exiv2/exiv2) | [![Packaging status](https://repology.org/badge/tiny-repos/exiv2.svg)](https://repology.org/metapackage/exiv2/versions) | +| Travis | AppVeyor | GitLab| Codecov| Repology| Chat | +|:-------------:|:-------------:|:-----:|:------:|:-------:|:----:| +| [![Build Status](https://travis-ci.org/Exiv2/exiv2.svg?branch=0.27-maintenance)](https://travis-ci.org/Exiv2/exiv2) | [![Build status](https://ci.appveyor.com/api/projects/status/d6vxf2n0cp3v88al/branch/0.27-maintenance?svg=true)](https://ci.appveyor.com/project/piponazo/exiv2-wutfp/branch/0.27-maintenance) | [![pipeline status](https://gitlab.com/D4N/exiv2/badges/0.27-maintenance/pipeline.svg)](https://gitlab.com/D4N/exiv2/commits/0.27-maintenance) | [![codecov](https://codecov.io/gh/Exiv2/exiv2/branch/0.27-maintenance/graph/badge.svg)](https://codecov.io/gh/Exiv2/exiv2) | [![Packaging status](https://repology.org/badge/tiny-repos/exiv2.svg)](https://repology.org/metapackage/exiv2/versions) | [![#exiv2-chat on matrix.org](matrix-standard-vector-logo-xs.png)](https://matrix.to/#/#exiv2-chat:matrix.org) |
@@ -80,6 +80,8 @@ $ sudo make install This will install the library into the "standard locations". The library will be installed in `/usr/local/lib`, executables (including the exiv2 command-line program) in `/usr/local/bin/` and header files in `/usr/local/include/exiv2` +When you run cmake, it will generate the file exv_conf.h in the build directory. This file contains setting information about both the options you have chosen and the availability of libraries on your machine. + #### Using the exiv2 command-line program To execute the exiv2 command line program, you should update your path to search /usr/local/bin/ @@ -804,7 +806,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
### 3.2 Support -For new bug reports and feature requests, please open an issue in Github. +For new bug reports, feature requests and support: Please open an issue in Github. [https://github.com/exiv2/exiv2](https://github.com/exiv2/exiv2) [TOC](#TOC)
@@ -1298,5 +1300,5 @@ $ sudo pkg install developer/gcc-7 [TOC](#TOC) -Written by Robin Mills
robin@clanmills.com
Updated: 2020-05-25 +Written by Robin Mills
robin@clanmills.com
Updated: 2020-11-20 diff --git a/cmake/msvc_conan_profiles/msvc2019Debug32 b/cmake/msvc_conan_profiles/msvc2019Debug32 new file mode 100755 index 00000000..4825d2a4 --- /dev/null +++ b/cmake/msvc_conan_profiles/msvc2019Debug32 @@ -0,0 +1,12 @@ +[build_requires] +[settings] +arch=x86 +build_type=Debug +compiler=Visual Studio +compiler.runtime=MDd +compiler.version=16 +os=Windows +arch_build=x86 +os_build=Windows +[options] +[env] diff --git a/cmake/msvc_conan_profiles/msvc2019Release32 b/cmake/msvc_conan_profiles/msvc2019Release32 new file mode 100755 index 00000000..980594fb --- /dev/null +++ b/cmake/msvc_conan_profiles/msvc2019Release32 @@ -0,0 +1,12 @@ +[build_requires] +[settings] +arch=x86 +build_type=Release +compiler=Visual Studio +compiler.runtime=MD +compiler.version=16 +os=Windows +arch_build=x86 +os_build=Windows +[options] +[env] diff --git a/matrix-standard-vector-logo-xs.png b/matrix-standard-vector-logo-xs.png new file mode 100644 index 0000000000000000000000000000000000000000..509ffd014eabe6130821fa9f424b43eb8137e9fb GIT binary patch literal 7397 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 RjsM% Date: Fri, 20 Nov 2020 18:56:28 +0000 Subject: [PATCH 2/6] New profiles as documented in README-CONAN.md --- cmake/msvc_conan_profiles/msvc2019Debug64 | 12 ++++++++++++ cmake/msvc_conan_profiles/msvc2019Release64 | 12 ++++++++++++ 2 files changed, 24 insertions(+) create mode 100755 cmake/msvc_conan_profiles/msvc2019Debug64 create mode 100755 cmake/msvc_conan_profiles/msvc2019Release64 diff --git a/cmake/msvc_conan_profiles/msvc2019Debug64 b/cmake/msvc_conan_profiles/msvc2019Debug64 new file mode 100755 index 00000000..29945336 --- /dev/null +++ b/cmake/msvc_conan_profiles/msvc2019Debug64 @@ -0,0 +1,12 @@ +[build_requires] +[settings] +arch=x86_64 +build_type=Debug +compiler=Visual Studio +compiler.runtime=MDd +compiler.version=16 +os=Windows +arch_build=x86_64 +os_build=Windows +[options] +[env] diff --git a/cmake/msvc_conan_profiles/msvc2019Release64 b/cmake/msvc_conan_profiles/msvc2019Release64 new file mode 100755 index 00000000..29945336 --- /dev/null +++ b/cmake/msvc_conan_profiles/msvc2019Release64 @@ -0,0 +1,12 @@ +[build_requires] +[settings] +arch=x86_64 +build_type=Debug +compiler=Visual Studio +compiler.runtime=MDd +compiler.version=16 +os=Windows +arch_build=x86_64 +os_build=Windows +[options] +[env] From 7b90bf3a40d7cb46540654feec0f10b0974c4190 Mon Sep 17 00:00:00 2001 From: Robin Mills Date: Sat, 21 Nov 2020 09:43:48 +0000 Subject: [PATCH 3/6] Add ribbon to README-SAMPLES.md. Fixing typos. --- README-CONAN.md | 10 +++++----- README-SAMPLES.md | 6 +++++- README.md | 8 ++++---- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/README-CONAN.md b/README-CONAN.md index 1afec592..a47f633e 100644 --- a/README-CONAN.md +++ b/README-CONAN.md @@ -206,7 +206,7 @@ Profile := msvc{Edition}{Type}{Bits} Edition := { 2019 | 2017 | 2015 } Type := { Release | Debug } Bits := { 64 | 32 } -Examples: msvc2019Release64 msvc2017Release64 msvc2015Debug32 +Examples: msvc2019Release64 msvc2017Release32 msvc2015Debug32 ``` The profile msvc2019Release64 is as follows: @@ -242,7 +242,7 @@ In the step-by-step guide, the command `$ cmake ..` uses the default CMake generator. Always use the generator for your version of Visual Studio. For example: ```bat -c:\..\build> conan install .. --build missing --profile msvc2019Release +c:\..\build> conan install .. --build missing --profile msvc2019Release64 c:\..\build> cmake .. -G "Visual Studio 16 2019" c:\..\build> cmake --build . --config Release ``` @@ -260,7 +260,7 @@ CMake provides Generators for different editions of Visual Studio. The 64 and 3 | | Visual Studio 2019 | Visual Studio 2017 | Visual Studio 2015| |:---------|--------------------|--------------------|--------------| -| _**conan install .. --profile**_ | msvc2019Release | msvc2017Release64 | msvc2015Release64 | +| _**conan install .. --profile**_ | msvc2019Release64 | msvc2017Release64 | msvc2015Release64 | | _**cmake -G**_ | "Visual Studio 16 2019" | "Visual Studio 15 2017 Win64" | "Visual Studio 14 2015 Win64" | | _**profile**_






_ | arch=x86\_64
arch\_build=x86\_64
build\_type=Release
compiler.runtime=MD
compiler.version=16
compiler=Visual Studio
os=Windows
os\_build=Windows | arch=x86\_64
arch\_build=x86\_64
build\_type=Release
compiler.runtime=MD
compiler.version=15
compiler=Visual Studio
os=Windows
os\_build=Windows | arch=x86\_64
arch\_build=x86\_64
build\_type=Release
compiler.runtime=MD
compiler.version=14
compiler=Visual Studio
os=Windows
os\_build=Windows | @@ -276,7 +276,7 @@ CMake provides Generators for different editions of Visual Studio. The 64 and 3 || Visual Studio 2019 | Visual Studio 2017 | Visual Studio 2015 | |:-----------|--------------------|--------------------|--------------------| | _**conan install .. --profile**_ | msvc2019Release32 | msvc2017Release32 | msvc2015Release32 | -| _**cmake -G**_ | "Visual Studio 15 2019" -A Win32 | "Visual Studio 15 2017" | "Visual Studio 14 2015" | +| _**cmake -G**_ | "Visual Studio 16 2019" -A Win32 | "Visual Studio 15 2017" | "Visual Studio 14 2015" | | _**profile**_
_ | arch=x86
arch\_build=x86 | arch=x86
arch\_build=x86 | arch=x86
arch\_build=x86 | ##### Static Builds @@ -303,7 +303,7 @@ You should link everything with the dynamic or static run-time. You can link a s 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. +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 of some conan flexibility which may be useful when your build environment is automated. ```bash $ conan install .. --profile msvc2017Release64 -s arch_build=x86 -s arch=x86 -s compiler.version=14 diff --git a/README-SAMPLES.md b/README-SAMPLES.md index 5c7b512f..d755537d 100644 --- a/README-SAMPLES.md +++ b/README-SAMPLES.md @@ -1,3 +1,7 @@ +| Travis | AppVeyor | GitLab| Codecov| Repology| Chat | +|:-------------:|:-------------:|:-----:|:------:|:-------:|:----:| +| [![Build Status](https://travis-ci.org/Exiv2/exiv2.svg?branch=0.27-maintenance)](https://travis-ci.org/Exiv2/exiv2) | [![Build status](https://ci.appveyor.com/api/projects/status/d6vxf2n0cp3v88al/branch/0.27-maintenance?svg=true)](https://ci.appveyor.com/project/piponazo/exiv2-wutfp/branch/0.27-maintenance) | [![pipeline status](https://gitlab.com/D4N/exiv2/badges/0.27-maintenance/pipeline.svg)](https://gitlab.com/D4N/exiv2/commits/0.27-maintenance) | [![codecov](https://codecov.io/gh/Exiv2/exiv2/branch/0.27-maintenance/graph/badge.svg)](https://codecov.io/gh/Exiv2/exiv2) | [![Packaging status](https://repology.org/badge/tiny-repos/exiv2.svg)](https://repology.org/metapackage/exiv2/versions) | [![#exiv2-chat on matrix.org](matrix-standard-vector-logo-xs.png)](https://matrix.to/#/#exiv2-chat:matrix.org) | + ![Exiv2](exiv2.png) # Exiv2 Sample Applications @@ -652,4 +656,4 @@ Read an XMP packet from a file, parse and re-serialize it. Robin Mills
robin@clanmills.com
-Revised: 2020-05-17 \ No newline at end of file +Revised: 2020-11-20 \ No newline at end of file diff --git a/README.md b/README.md index ddc65bf8..256d9ac9 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ The file ReadMe.txt in a build bundle describes how to install the library on th 2. [macOS](#5-2) 3. [MinGW/msys2](#5-3) 4. [Cygwin](#5-4) - 5. [Microsoft Visual C++](#5-5) + 5. [Visual Studio](#5-5) 6. [Unix](#5-6) [TOC](#TOC) @@ -1175,11 +1175,11 @@ endlocal [TOC](#TOC)
-### 5.5 Microsoft Visual C++ +### 5.5 Visual Studio -We recommend that you use Conan to build Exiv2 using Microsoft Visual C++. Exiv2 v0.27 can be built with Visual Studio versions 2008 and later. We actively support and build with Visual Studio 2015, 2017 and 2019. +We recommend that you use Conan to build Exiv2 using Visual Studio. Exiv2 v0.27 can be built with Visual Studio versions 2008 and later. We actively support and build with Visual Studio 2015, 2017 and 2019. -As well as Microsoft Visual Studio, you will need to install CMake, Python3, and Conan. +As well as Visual Studio, you will need to install CMake, Python3, and Conan. 1) Binary installers for CMake on Windows are availably from [https://cmake.org/download/](https://cmake.org/download/).
2) Binary installers for Python3 are available from [python.org](https://python.org)
From 25b488a5f92e21533aae4bc57b191a530bfde292 Mon Sep 17 00:00:00 2001 From: Robin Mills Date: Sat, 21 Nov 2020 13:07:08 +0000 Subject: [PATCH 4/6] Documented exiv2lib_export.h --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 256d9ac9..9a91a850 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ $ sudo make install This will install the library into the "standard locations". The library will be installed in `/usr/local/lib`, executables (including the exiv2 command-line program) in `/usr/local/bin/` and header files in `/usr/local/include/exiv2` -When you run cmake, it will generate the file exv_conf.h in the build directory. This file contains setting information about both the options you have chosen and the availability of libraries on your machine. +cmake generates files in the build directory. cmake generates the project/solution/makefiles required to build the exiv2 library and sample applications. cmake also creates the files exv\_conf.h and exiv2lib\_export which contain compiler directives about the build options you have chosen and the availability of libraries on your machine. #### Using the exiv2 command-line program From 01b95de651398ac404a673bdc7c5cb7bfa52d2e6 Mon Sep 17 00:00:00 2001 From: Robin Mills Date: Sun, 22 Nov 2020 16:44:30 +0000 Subject: [PATCH 5/6] Update script cmd64.bat following review by @tester0077 --- README-CONAN.md | 19 ++++++++++--------- README.md | 14 +++++++++----- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/README-CONAN.md b/README-CONAN.md index a47f633e..5ef900a7 100644 --- a/README-CONAN.md +++ b/README-CONAN.md @@ -175,19 +175,20 @@ I use the following batch file `cmd64.bat` to start cmd.exe. I do this to reduc ```bat @echo off +@echo off setlocal +if NOT EXIST c:\Python39\python3.exe copy c:\Python39\python.exe c:\Python39\python3.exe set "P=" -set "P=%P%C:\Python37\;C:\Python37\Scripts;" # DOS Python3 +set "P=%P%C:\Python39\;C:\Python39\Scripts;%USERPROFILE%\AppData\Roaming\Python\Python39" # DOS Python3 set "P=%P%c:\Program Files\cmake\bin;" # DOS cmake -set "P=%P%c:\msys64\usr\bin;" # msys2 make, bash etc -set "P=%P%c:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin;" -set "P=%P%c:\Windows\System32;" # windows -set "P=%P%%USERPROFILE%\com;" # my home-made magic -echo %P% +set "P=%P%c:\msys64\usr\bin;" # OPTIONAL to run test suite msys2 make, bash etc +set "P=%P%c:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin;" +set "P=%P%c:\Windows\System32;" # Windows +set "P=%P%%USERPROFILE%\com;" # OPTIONAL my home-made magic set "PATH=%P%" -set "EXIV2_BINDIR=%USERPROFILE%\gnu\github\exiv2\0.27-maintenance\build\bin" -color 0d -cmd /S /K cd "%EXIV2_BINDIR%\..\.." +set "EXIV2_EXT=.exe" +color 1e +cmd /S /K cd "%USERPROFILE%\gnu\github\exiv2\0.27-maintenance\" color endlocal ``` diff --git a/README.md b/README.md index 9a91a850..c74e98af 100644 --- a/README.md +++ b/README.md @@ -1190,15 +1190,19 @@ I use the following batch file `cmd64.bat` to start cmd.exe. I do this to reduc ```bat @echo off setlocal +if NOT EXIST c:\Python39\python3.exe copy c:\Python39\python.exe c:\Python39\python3.exe set "P=" -set "P=%P%C:\Python37\;C:\Python37\Scripts;" # DOS Python3 +set "P=%P%C:\Python39\;C:\Python39\Scripts;%USERPROFILE%\AppData\Roaming\Python\Python39" # DOS Python3 set "P=%P%c:\Program Files\cmake\bin;" # DOS cmake -set "P=%P%c:\msys64\usr\bin;" # MinGW/msys2 make, bash etc -set "P=%P%c:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin;" -set "P=%P%c:\Windows\System32;" # windows -set "P=%P%%USERPROFILE%\com;" # my home-made magic +set "P=%P%c:\msys64\usr\bin;" # OPTIONAL to run test suite msys2 make, bash etc +set "P=%P%c:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin;" +set "P=%P%c:\Windows\System32;" # Windows +set "P=%P%%USERPROFILE%\com;" # OPTIONAL my home-made magic set "PATH=%P%" +set "EXIV2_EXT=.exe" +color 1e cmd /S /K cd "%USERPROFILE%\gnu\github\exiv2\0.27-maintenance\" +color endlocal ``` From 1a714400bf28311746f99c51b8e5a7a42aec8d2e Mon Sep 17 00:00:00 2001 From: Robin Mills Date: Sun, 22 Nov 2020 20:54:25 +0000 Subject: [PATCH 6/6] I hope this is the final change to this PR. @moon6969 pleased accept my invitation to join Team Exiv2 and I will assign you to review/approve this PR. Thank You. --- README-CONAN.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/README-CONAN.md b/README-CONAN.md index 5ef900a7..18d5cce9 100644 --- a/README-CONAN.md +++ b/README-CONAN.md @@ -171,6 +171,8 @@ algorithms when bringing the Exiv2 dependencies with conan, this might indicate
### 2.2) Visual Studio Notes +We recommend that you install python as discussed here: [https://github.com/Exiv2/exiv2/pull/1403#issuecomment-731836146](https://github.com/Exiv2/exiv2/pull/1403#issuecomment-731836146) + I use the following batch file `cmd64.bat` to start cmd.exe. I do this to reduce the complexity of the path which grows as various tools are installed on Windows. The purpose of this script is to ensure a "stripped down path". ```bat @@ -244,7 +246,7 @@ the default CMake generator. Always use the generator for your version of Visua ```bat c:\..\build> conan install .. --build missing --profile msvc2019Release64 -c:\..\build> cmake .. -G "Visual Studio 16 2019" +c:\..\build> cmake .. -G "Visual Studio 16 2019" -A x64 c:\..\build> cmake --build . --config Release ``` @@ -252,8 +254,8 @@ CMake provides Generators for different editions of Visual Studio. The 64 and 3 | Architecture | Visual Studio 2019 | Visual Studio 2017 | Visual Studio 2015 | |:--------- |--------------------|--------------------|--------------------|--------------------| -| 64 bit | "Visual Studio 16 2019" | "Visual Studio 15 2017 Win64" | "Visual Studio 14 2015 Win64" | -| 32 bit | "Visual Studio 16 2019" -A Win32 | "Visual Studio 15 2017" | "Visual Studio 14 2015" | +| 64 bit | -G "Visual Studio 16 2019" -A x64 | -G "Visual Studio 15 2017 Win64" | -G "Visual Studio 14 2015 Win64" | +| 32 bit | -G "Visual Studio 16 2019" -A Win32 | -G "Visual Studio 15 2017" | -G "Visual Studio 14 2015" | ### Recommended settings for Visual Studio @@ -262,7 +264,7 @@ CMake provides Generators for different editions of Visual Studio. The 64 and 3 | | Visual Studio 2019 | Visual Studio 2017 | Visual Studio 2015| |:---------|--------------------|--------------------|--------------| | _**conan install .. --profile**_ | msvc2019Release64 | msvc2017Release64 | msvc2015Release64 | -| _**cmake -G**_ | "Visual Studio 16 2019" | "Visual Studio 15 2017 Win64" | "Visual Studio 14 2015 Win64" | +| _**cmake**_ | -G "Visual Studio 16 2019" -A x64 | -G "Visual Studio 15 2017 Win64" | -G "Visual Studio 14 2015 Win64" | | _**profile**_






_ | arch=x86\_64
arch\_build=x86\_64
build\_type=Release
compiler.runtime=MD
compiler.version=16
compiler=Visual Studio
os=Windows
os\_build=Windows | arch=x86\_64
arch\_build=x86\_64
build\_type=Release
compiler.runtime=MD
compiler.version=15
compiler=Visual Studio
os=Windows
os\_build=Windows | arch=x86\_64
arch\_build=x86\_64
build\_type=Release
compiler.runtime=MD
compiler.version=14
compiler=Visual Studio
os=Windows
os\_build=Windows | ##### Debug Builds @@ -277,7 +279,7 @@ CMake provides Generators for different editions of Visual Studio. The 64 and 3 || Visual Studio 2019 | Visual Studio 2017 | Visual Studio 2015 | |:-----------|--------------------|--------------------|--------------------| | _**conan install .. --profile**_ | msvc2019Release32 | msvc2017Release32 | msvc2015Release32 | -| _**cmake -G**_ | "Visual Studio 16 2019" -A Win32 | "Visual Studio 15 2017" | "Visual Studio 14 2015" | +| _**cmake**_ | -G "Visual Studio 16 2019" -A Win32 | -G "Visual Studio 15 2017" | -G "Visual Studio 14 2015" | | _**profile**_
_ | arch=x86
arch\_build=x86 | arch=x86
arch\_build=x86 | arch=x86
arch\_build=x86 | ##### Static Builds @@ -594,4 +596,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-11-08 +Written by Robin Mills
robin@clanmills.com
Updated: 2020-11-22