[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a
Maximiliano Curia
maxy at moszumanska.debian.org
Thu Jul 13 17:45:50 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=bc7f864
The following commit has been merged in the master branch:
commit bc7f8640889fdeabf184c7da4a846ccc2ac51ab6
Author: danielkaneider <kaneiderdaniel at gmail.com>
Date: Sun Oct 25 17:52:52 2015 +0000
[cmake] updated build scripts
---
CMakeLists.txt | 7 +--
README-CMAKE | 118 ++++++------------------------------------
contrib/build/msvc/build.cmd | 80 +++++++++++++++++++++++++++-
contrib/build/msvc/setenv.cmd | 10 ++--
4 files changed, 105 insertions(+), 110 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ac72573..09351ea 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -190,14 +190,15 @@ IF( ${EXV_HAVE_STDINT_H} )
ADD_DEFINITIONS( -DEXV_HAVE_STDINT_H )
ENDIF( ${EXV_HAVE_STDINT_H} )
-FIND_PACKAGE(Subversion QUIET)
SET(SVN_REVISION "0")
-IF(SUBVERSION_FOUND)
- IF(EXISTS "${CMAKE_SOURCE_DIR}/.svn")
+IF(EXISTS "${CMAKE_SOURCE_DIR}/.svn")
+ FIND_PACKAGE(Subversion QUIET)
+ IF(SUBVERSION_FOUND)
Subversion_WC_INFO(${PROJECT_SOURCE_DIR} svnExiv2)
SET(SVN_REVISION "${svnExiv2_WC_REVISION}")
ENDIF()
ENDIF()
+
CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/src/svn_version.h.in
${CMAKE_CURRENT_SOURCE_DIR}/src/svn_version.h @ONLY)
MESSAGE(STATUS "SVN version: ${SVN_REVISION}")
diff --git a/README-CMAKE b/README-CMAKE
index 176db51..0c7d142 100644
--- a/README-CMAKE
+++ b/README-CMAKE
@@ -100,7 +100,7 @@ b) Using the cmake GUI
ccmake
-3 Building and installing for DevStudio Users
+3 Building and installing for Visual Studio Users
=============================================
exiv2 provides three build environment for users of Visual Studio:
@@ -122,107 +122,23 @@ The current architecture of CMake requires you to decide before running cmake:
Code FileSystem Layout
----------------------
+The simplest starting point for VS and CMake is to use the batch files in exiv-src/contrib/build/msvc.
+For those script you will need:
+- Cygwin (in order to download all dependencies (zlib, expat, ssl, curl, ssh), including exiv2 trunk from svn)
+- CMake
+- SVN (optional)
+
+Then
+ - put the two scripts (build.cmd and setenv.cmd) into a completely empty directory
+ - adapt the paths in setenv.cmd
+ - open the VS command line shell
+ - execute build.cmd (if there are any errors, the script should tell you)
+
+Exiv2 should be then packaged in the dist directory with all the .lib, include and binary files you need.
+
+If you need to compile with different options (without webready for example), simply edit the build.cmd file
+and adapt the options (somewhere at the end).
-I set up my environment as follows:
- Directory of C:\gnu.cmake
-
-2012-05-31 09:49 <DIR> exiv2 | Vanilla
-2012-05-31 09:45 <DIR> expat-2.1.0 | source
-2012-05-30 16:22 <DIR> zlib-1.2.7 | trees
-
-The command to run cmake is of the form:
-cmake CMakeLists.txt -G "Visual Studio 9 2008 Win64"
-
-There are many options for the cmake command, and many generators. I've added a little
-batch file cm.bat for my convenience.
-c:\> cm 2008 64 == cmake CMakeLists.txt -G "Visual Studio 9 2008 Win64"
-
-Building from source
---------------------
-
-There are 3 steps (build zlib/expat, build exiv2, test).
-You can skip step 1 if you have prebuilt libraries (see note below)
-
-1) Building the support libraries expat and zlib with cmake
- cd expat-2.1.0
- If you wish to use a static library (shared is default)
- a) set expat-2.1.0/CMakeLists.txt static
- option(BUILD_shared "build a shared expat library" ON) <------- Set OFF
- b) You'll need the following patch (around line 23)
- See "Note about expat-2.1.0/CMakeLists.txt"
-
- --- extract from CMakeLists.txt ---
- option(XML_NS "Define to make XML Namespaces functionality available" ON)
-
- # rmills patch begin
- include(../exiv2/CMake_msvc.txt)
- msvc_runtime_configure(${BUILD_shared})
- # rmills patch end
-
- if(XML_DTD)
- --- extract end ---
-
- cmake CMakeLists.txt -G "Visual Studio 9 2008 Win64"
- .... rattle roll ....
- Open expat.sln and build all.
-
- Similar process for zlib-1.2.7
- You will not need to edit CMakeLists.txt (zlib builds shared and dynamic libraries)
- cmake CMakeLists.txt -G "Visual Studio 9 2008 Win64"
- .... rattle roll ....
- Open zlib.sln and build all.
-
-2) Building exiv2
- CMake recommend building "out of source" which means building in a clean
- directory BELOW the source tree:
- eg cd exiv2
- Edit CMakeLists.txt to specify shared or static library (and other options)
- You may need to change the path to expat and zlib to match your setup
-
- mkdir build
- cd build
- cmake -G "Visual Studio 9 2008 Win64" ..
- ... rattle roll ...
- Open build/exiv2.sln and build all.
-
-3) Location of built files (exiv2.exe, exiv2.dll etc)
- exiv2uildin\{ x64 | Win32 }\{ Dynamic|Static }\{Config}\exiv2.exe etc....
- Config: Debug | MinSizeRel | Release | RelWithDebInfo
-
- The test suite is a bash script and requires Cygwin.
-
- cd /c/gnu/exiv2/test
- ./testMSVC.sh ${PWD}/../build/bin/x64/Dynamic/Release
-
- or
- ./testMSVC.sh ${PWD}/../build/bin/x64/Dynamic/ | tee foo.txt
- ./verifyMSVC foo.txt
-
-
-Note about expat-2.1.0/CMakeLists.txt
--------------------------------------
- expat-2.1.0/CMakeLists.txt can build static or dynamic libraries.
- However expat's CMakeLists.txt links with MSVCRTx.dll for both static and dynamic.
- I've taken a decision to either link "All static" or "All dynamic" with no mixing.
- This patch enforces my design and avoids linker headaches.
-
-Note about using prebuilt zlib, expat and iconv
------------------------------------------------
-
-I expect you to setup the source build tree and build expat and zlib.
-However you may wish to use prebuilt versions of zlib, iconv and expat.
-Specify the location of the prebuilt libraries on the cmake command line:
-
-For example:
-cmake -G "NMake Makefiles" .. -DEXPAT_LIBRARY=%KDE4_INSTALL_DIR%/lib/libexpat.lib
-
-Daniel has provided a patch (SVN:2893) which enables you to specify a ZLIB search path:
-Example:
- cmake.exe -G "Visual Studio 11 Win64" -DZLIB_ROOT=..\zlib-1.2.7-dev;..\zlib-1.2.7-dev\Release ...
-
-If ZLIB is not located on the path provided, the normal default (..\zlib-1.2.7) will be used.
-
-ToDo: More information about parameters -DEXPAT_LIBRARTY -DZLIB_LIBRARY etc.
4 Building and Installing for other users (Xcode, Eclipse, Qt)
==============================================================
diff --git a/contrib/build/msvc/build.cmd b/contrib/build/msvc/build.cmd
index ab8d63b..6133110 100644
--- a/contrib/build/msvc/build.cmd
+++ b/contrib/build/msvc/build.cmd
@@ -9,9 +9,16 @@ REM ---------------------------------------------------
rem https://github.com/madler/zlib/commits
SET ZLIB_COMMIT_LONG=50893291621658f355bc5b4d450a8d06a563053d
+rem https://github.com/pol51/OpenSSL-CMake
+SET SSL_COMMIT_LONG=595a9e4384e1280659080f7c7029e66544b772a8
+
rem https://github.com/bagder/curl
SET CURL_COMMIT_LONG=dd39a671019d713bd077be9eed511c2dc6013598
+rem http://www.npcglib.org/~stathis/blog/precompiled-openssl/
+SET OPENSSL_VERSION=openssl-1.0.2d
+
+
ml64.exe > NUL
IF ERRORLEVEL 1 (
set Platform=Win32
@@ -42,6 +49,8 @@ IF NOT EXIST %CMAKE_DIR%in
--
exiv2 packaging
More information about the pkg-kde-commits
mailing list