X-Account-Key: account1
X-UIDL: a64c4185b1cf3f201bf331cf3dbfa0df
X-Mozilla-Status: 0011
X-Mozilla-Status2: 00000000
X-Mozilla-Keys:                                                                                 
Received: from lists.maptools.org (lothlorien.howardsilvan.com [127.0.0.1])
	by mail.howardsilvan.com (Postfix) with ESMTPS id B82FB6721C5
	for <faxguy@howardsilvan.com>; Thu, 18 Jun 2015 15:08:53 -0700 (PDT)
Received: from lists.maptools.org ([94.23.4.142] helo=lists.maptools.org)
	by lothlorien.howardsilvan.com
	with SMTP (2.3.3); 18 Jun 2015	15:08:53 -0800
Received: from [10.1.0.241] (localhost.localdomain [127.0.0.1])
	by lists.maptools.org (Postfix) with ESMTP id 6E04C35C06D;
	Thu, 18 Jun 2015 17:08:33 -0500 (EST)
Received: from b.painless.aa.net.uk (b.painless.aa.net.uk [81.187.30.52])
	by lists.maptools.org (Postfix) with ESMTPS id 668CB35C06B
	for <tiff@lists.maptools.org>; Thu, 18 Jun 2015 17:08:31 -0500 (EST)
Received: from	2.3.1.c.0.f.4.5.2.c.8.6.7.4.1.6.d.b.d.d.0.6.8.0.0.b.8.0.1.0.0.2.ip6.arpa	([2001:8b0:860:ddbd:6147:68c2:54f0:c132])
	by b.painless.aa.net.uk
	with esmtpsa (TLSv1:AES128-SHA:128)	(Exim 4.77) (envelope-from <rleigh@codelibre.net>)
	id 1Z5hzL-0001kt-Hx	for tiff@lists.maptools.org;
	Thu, 18 Jun 2015 23:08:48 +0100
Message-ID: <5583416C.2090402@codelibre.net>
Date: Thu, 18 Jun 2015 22:08:44 +0000
From: Roger Leigh <rleigh@codelibre.net>
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64;	rv:31.0) Gecko/20100101
 Thunderbird/31.7.0
MIME-Version: 1.0
To: tiff@lists.maptools.org
References: <55803516.6020506@codelibre.net>
	<5581F6CF.6010707@codelibre.net>
In-Reply-To: <5581F6CF.6010707@codelibre.net>
Subject: Re: [Tiff] CMake support for building libtiff
X-BeenThere: tiff@lists.maptools.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TIFF and libtiff discussion <tiff.lists.maptools.org>
List-Unsubscribe: <http://lists.maptools.org/mailman/listinfo/tiff>,
	<mailto:tiff-request@lists.maptools.org?subject=unsubscribe>
List-Archive: <http://lists.maptools.org/mailman/private/tiff>
List-Post: <mailto:tiff@lists.maptools.org>
List-Help: <mailto:tiff-request@lists.maptools.org?subject=help>
List-Subscribe: <http://lists.maptools.org/mailman/listinfo/tiff>,
	<mailto:tiff-request@lists.maptools.org?subject=subscribe>
Sender: tiff-bounces@lists.maptools.org
Errors-To: tiff-bounces@lists.maptools.org
X-Assp-ID: lothlorien.howardsilvan.com m1-65333-01542
X-Assp-Session: 7FE0DDE634F0 (mail 1)
X-Assp-Detected-RIP: 2001:8b0:860:ddbd:6147:68c2:54f0:c132, 81.187.30.52
X-Assp-Source-IP: 2001:8b0:860:ddbd:6147:68c2:54f0:c132
X-Assp-Envelope-From: tiff-bounces@lists.maptools.org
X-Assp-Intended-For: faxguy@howardsilvan.com
X-Assp-Version: 2.3.3(14029) on lothlorien.howardsilvan.com
X-Assp-Server-TLS: yes
X-Assp-Delay: not delayed (whitelisted); 18 Jun 2015 15:08:53 -0800
X-Assp-Message-Score: -40 (KnownGoodHelo)
X-Assp-IP-Score: -40 (KnownGoodHelo)
X-Assp-Whitelisted: Yes (whitelistdb)
Return-Path: tiff-bounces@lists.maptools.org
Content-Type: multipart/mixed; boundary=------------060504030409060304080906

This is a multi-part message in MIME format.
--------------060504030409060304080906
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

On 17/06/2015 22:38, Roger Leigh wrote:
> On 16/06/2015 14:39, Roger Leigh wrote:
>> Hi folks,
>>
>> Would there be any interest in having support for building libtiff with
>> CMake?  This would allow for easier building on Windows and other
>> platforms since it can generate build files for a whole host of
>> different build tools and IDEs.  For example, on Windows it generates
>> project files for specific visual studio versions.  On Unix it generates
>> standard Makefiles.  It also allows seamless integration of libtiff into
>> libtiff-using projects (embedded directly or downloaded and build as a
>> "superbuild"), and is quite a bit simpler to manage and use than the
>> autotools (I switched after 15 years of autotools use).
>>
>> I'm happy to do the work and submit this for inclusion.  I just wanted
>> to check if this was something which was of interest for others as well,
>> and which wasn't totally objectionable to the maintainers.
>
> Thanks all for the responses.  I'll do this over the next few days.
> [It's not just for the sake of it; I need the support for a work
> project, in particular better Windows support.]
>
> Just to give you an idea of what this will look like, I've attached the
> fruits of my days' labour, made against the 4.0.4 beta release.  This is
> a conversion of
> - configure.ac including all the portability checks and retaining exact
> compatibility WRT the header generation
> - port/Makefile.am
> - libtiff/Makefile.am
> - tools/Makefile.am
>
> In other words, sufficient to build libtiff (shared and static) plus the
> tools.  It doesn't have install rules yet, so "make install" does nothing.
>
> To try out:
> - apply the patch
> - make a build directory and change into it
> - run "cmake /path/to/libtiff/source"
> - run "make"

I have now completed the conversion and I have attached a set of patches 
to add CMake support (against the 4.0.4 beta release).  This has been 
tested on the following platforms:

- FreeBSD 10.1 / clang 3.4
- Linux (Ubuntu 15.04) / gcc 4.9
- MacOS X (10.10 with homebrew) / clang 3.5
- Windows (Visual Studio 2015 RC) / MSVC18

Note that I converted the shell-based testcases to use CMake natively. 
This means you can run all the unit tests on Windows for the first time 
(and they all pass).

Caveat: Visual Studio 2013 and earlier don't provide snprintf(3). 
libtiff builds but the tests and tools do not all build; unless there's 
a workaround, I'll need to selectively disable building of the tools and 
tests when using these versions.

I'd be very interested in any feedback, particularly from Windows users. 
  I'll follow up with a patch to disable the non-buildable components 
tomorrow; you can just comment out the test/tools/contrib directories in 
the top-level CMakeLists.txt in the interim.


Regards,
Roger

--------------060504030409060304080906
Content-Type: application/octet-stream;
 name="0001-Add-initial-support-for-building-with-CMake.patch.xz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0="0001-Add-initial-support-for-building-with-CMake.patch.xz"

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
scRn+wIAAAAABFla
--------------060504030409060304080906
Content-Type: application/octet-stream;
 name="0002-configure.ac-Add-missing-check-for-strtoul.patch.xz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="0002-configure.ac-Add-missing-check-for-strtoul.patch.xz"

/Td6WFoAAATm1rRGAgAhARwAAAAQz1jM4AMzAeZdACMcieb24Au5Z7YmMI2DAkAyTMTKphEs
PBD/MU7IzkSo0nkn9kZZtMlhHSyWwWjJF0KimWTfxemMpLSq6jgY8WjZJyQ/U5j9N7z6fAZa
MlXdn9c2DHsVg2h5fx4F82Xy6uGPpMJt/GV57xImwBg0xibelJaSEWj/VEryAA5GBtLOeJpH
8YQoQaF5hQYy8S4mnxlFjRn0jkfZrgaclAkCEjxL9lZmMYLa7RkB3c9+cN1TWIRcAPfgs89q
wzHzbZD3rDAgIf6HrD2HzNalO59WLpg7uurh9EVpVlCygURMzfSk+nODXduZWWkfNT+omK4h
ctyBjncppUeuJuH8oGWDcIZW1A+6j1N8oghrdMMTd/TiG5dsPK3sMeDJ8UccctbZ2BusfDD9
X/m3UxhZRhCS4WoLfrJHoxWJs61NFLP2vgy+EKQTKnkZqMaYqdH3JqO1nJP17gjHgoW6XqVN
ur2X25ASnBC5QF1mK/PHQRbhgVTLxNDP07DHKSZCr7yWx6zZUdAqmDhuju1Sf9qrdgnUQZNi
101MmhFS7hXEuVfM+5XvO/u7vmnxsLO8Zg4ZTCpoXKFJXRvFaGJQWcrkK/vV8KV3fm8/VwvN
e9auwyKKS5Xyj5WAW9InydKHtAyRUiyxDU64EP9MAAAAAKssofK1MNO+AAGCBLQGAACxYjDz
scRn+wIAAAAABFla
--------------060504030409060304080906
Content-Type: application/octet-stream;
 name="0003-tiffgt-Use-HAVE_GL-macros-matching-configured-state.patch.xz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0="0003-tiffgt-Use-HAVE_GL-macros-matching-configured-state.pat";
 filename*1="ch.xz"

/Td6WFoAAATm1rRGAgAhARwAAAAQz1jM4ALcAcNdACMcieb23xTeO+cR917I6zDy6ZaSB55P
5sNJ1/yy3IjXzHQo89+nUOCYQG04LAxNaANgUSt6fEfu9QOREcyastavQQ593+q2x3X7lSiq
maBBxmFXkl2fmPTUtOHHBx9d57mBLioPXgrv1PRC3x2HP6Knm3ojymPhY0Mdm43mprRXCMoW
ae6vgMbxdYI61kNh4+rLRZ41aO4rwWTtCa/cBv7ABwpGXsKPOeF1JpZJSE7HWwgy5mH8szb4
Mdlj4c7C074FKN4QerDhaVcqodOoq9X9Bsg0kYhHLSOsoasSkx8m3aLtmb2GeGmI6dXlBZWl
ukNbovYN9+0LQxEMNg3T/kPi7FHtklSEZhEvmhxiZ3HFuAP+s8qoabdb+/JqPfugVjD2PP2c
q1V9NtGEylIXVTLopgQk/4+2wIb/6we6dLHiCThxZAHyUvP4Ng8MzNoK3gql71e2zh1PF7Xa
Ujbqne9UbKVlyCuxdrV/AI+7FTZojr2cvu1m7HIO/3Uggn5BYrCE45CwvPQpzcHSZf2wbikx
dG6uAxxaQFqjClb0bnwdnDGnB8dIQFoa7T9VTZuQodtgEmDotPiHvCV95mOogJYaNSAAACYt
rnDm90EVAAHfA90FAABYo2i1scRn+wIAAAAABFla
--------------060504030409060304080906
Content-Type: application/octet-stream;
 name="0004-libtiff-Add-missing-symbol-exports-to-libtiff.def.patch.xz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0="0004-libtiff-Add-missing-symbol-exports-to-libtiff.def.patch";
 filename*1=".xz"

/Td6WFoAAATm1rRGAgAhARwAAAAQz1jM4AJ2AY9dACMcieb24AFflXwOSsa37Cb20ZolgeJK
egR6DlQ52ocVmXBT3lc26NIzTkJXqCiHhaIWkUtn0CSePnO/A0Vc1eqOrlpVenQ7OUUA7AVh
NzqnDgKopVOLhiRnTBQiAlQj4VEGNDRSbaGKcuLaY0ngurtlz6R/1EdTjnCmPLS8JWzdFK60
ir5kxmiR2gnFkbK9XhXKNpTOJ2Y2AZ6x+RJTyKhbDUdfz3+6fD6hVsm2lrx2LsAWqHSyypFz
yWTH3/vBVJ9t6VhDFBOlACer9SQaGJbYP8fnumoPFAZssOLmQCVPj/2gQ4dC6lMm+VyXRVes
Jw4OT+vktV4IPF2kpyhMqI+ra/vbij5P0P3dbjMY+lrLztd+1GhzleNDBNfIhru+Xg0JQQZt
0mfGV9i9CGNUbKG9v3O4HsrZiK5koQgwIrHoWqJ8hWmCkQQZfv4K8XEG1gefNHVqYiYDdHWL
C9deNOKlmeQBL+xzp3/F+btSyVexTqkQrxv4c75GZTOxZoLmCbVVxJLEztyjj1A4nlsWXQAA
5XLOkpNjB3cAAasD9wQAAOLJluuxxGf7AgAAAAAEWVo=
--------------060504030409060304080906
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Tiff mailing list: Tiff@lists.maptools.org
http://lists.maptools.org/mailman/listinfo/tiff
http://www.remotesensing.org/libtiff/
--------------060504030409060304080906--


