[mapserver-dev] Appveyor Windows continuous integration
Even Rouault
even.rouault at spatialys.com
Thu Aug 6 05:33:34 PDT 2015
Hi,
I've experimented a Appveyor Windows continuous integration setup in my fork :
https://github.com/rouault/mapserver/blob/appveyor/appveyor.yml
And finally managed to get a successful build:
https://ci.appveyor.com/project/rouault/mapserver/build/1.0.33
It does 32 and 64 bit builds, with Visual Studio 12 2013 (other versions could
be added to the matrix).
The current options are :
-- * Summary of configured options for this build
-- * Mandatory components
-- * png: C:\projects\mapserver\sdk\release-1800-x64\lib\libpng.lib
-- * jpeg: C:/projects/mapserver/sdk/release-1800-x64/lib/libjpeg.lib
-- * freetype: C:/projects/mapserver/sdk/release-1800-
x64/lib/freetype2411.lib
-- * Optional components
-- * GDAL: C:/projects/mapserver/sdk/release-1800-x64/lib/gdal_i.lib
-- * OGR: C:/projects/mapserver/sdk/release-1800-x64/lib/gdal_i.lib
-- * GIF: C:/projects/mapserver/sdk/release-1800-x64/lib/giflib.lib
-- * MYSQL: disabled
-- * FRIBIDI: C:/projects/mapserver/sdk/release-1800-x64/lib/fribidi.lib
-- * HARFBUZZ: C:/projects/mapserver/sdk/release-1800-x64/lib/harfbuzz.lib
-- * GIF: C:/projects/mapserver/sdk/release-1800-x64/lib/giflib.lib
-- * CAIRO: C:/projects/mapserver/sdk/release-1800-x64/lib/cairo.lib
-- * SVGCAIRO: C:/projects/mapserver/sdk/release-1800-x64/lib/libsvg-
cairo.lib
-- * RSVG: disabled
-- * CURL: C:/projects/mapserver/sdk/release-1800-x64/lib/libcurl_imp.lib
-- * PROJ: C:/projects/mapserver/sdk/release-1800-x64/lib/proj_i.lib
-- * PIXMAN: disabled
-- * LIBXML2: C:/projects/mapserver/sdk/release-1800-x64/lib/libxml2.lib
-- * POSTGIS: C:/projects/mapserver/sdk/release-1800-x64/lib/libpqdll.lib
-- * GEOS: C:/projects/mapserver/sdk/release-1800-x64/lib/geos_c.lib
-- * FastCGI: C:/projects/mapserver/sdk/release-1800-x64/lib/libfcgi.lib
-- * Oracle Spatial: disabled
-- * Exempi XMP: disabled
-- * Optional features
-- * WMS SERVER: ENABLED
-- * WFS SERVER: ENABLED
-- * WCS SERVER: ENABLED
-- * SOS SERVER: ENABLED
-- * WMS CLIENT: ENABLED
-- * WFS CLIENT: ENABLED
-- * ICONV: ENABLED
-- * Thread-safety support: ENABLED
-- * KML output: ENABLED
-- * Z+M point coordinate support: ENABLED
-- * XML Mapfile support: disabled
-- * Mapscripts
-- * Python: ENABLED
-- * PHP: disabled
-- * PERL: disabled
-- * RUBY: disabled
-- * JAVA: disabled
-- * C#: disabled
-- * V8 Javascript: disabled
-- * Apache Module (Experimental): disabled
--
So pretty much all external libs + python. No tests are run.
This relies heavily on Tamas' SDKs to provide all the required dependencies.
But I had some hard time figuring out a few cmake options. I couldn't find any
online page with a cmake Windows setup. The weirdest oddity I had to fight is
that I had to do "copy libpng.lib libpng.lib.lib" to be able to link. iconv
was a bit particular too since you have to specify ICONV_DLL unlike other
libraries. And for curl linking I add to specify -
DMS_EXTERNAL_LIBS=wsock32.lib
Is there interest in migrating this to master ? My experience is that Appveyor
response time is rather dependant on the hour of the day. It can fire jobs a
few seconds after push at morning/early afternoon European time, but I found
that later in the day when North Americans wake up, builds can be queued for
minutes or hours. At least, this seems true for free accounts like mine.
The appveyor account used is mine currently. I could update it to build from
the official mapserver github repo instead of my fork, and I believe that should
work, even for pull requests.
Perhaps it would be best to have a appveyor "mapserver" account, but there's
no easy way with Appveyor to create a Appveyor account linked to a github
organization account like mapserver (contrary to Travis I believe). I found
that one can create manually a appveyor mapserver account, with independant
login&password identification, and then add github accounts of individuals as
administrators. I can try that if that's OK.
Best regards,
Even
--
Spatialys - Geospatial professional services
http://www.spatialys.com
More information about the mapserver-dev
mailing list