[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