apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tom Donovan <donov...@bellatlantic.net>
Subject Re: Did anybody ever play with cmake+apr and/or have any advice applicable to cmake+apr?
Date Thu, 22 Aug 2013 22:47:12 GMT
On 08/22/2013 04:55 PM, Jeff Trawick wrote:
> On Thu, Aug 22, 2013 at 10:49 AM, Tom Donovan <donovant@bellatlantic.net
> <mailto:donovant@bellatlantic.net>> wrote:
> 
>     On 08/20/2013 03:47 PM, Jeff Trawick wrote:
>     > I plan to spend some time tilting at that windmill starting later this week,
for the purposes of
>     > getting a flexible build on Windows.  Enough time to get something working?
 Dunno :(
>     >
>     > --
>     > Born in Roswell... married an alien...
>     > http://emptyhammock.com/
> 
>     I gave it a try last March, but I never found the time to follow up and finish it.
>     I was able to build apr and httpd (trunk) on Windows7.
> 
>     My Windows-only CMakeLists.txt files for both apr & httpd, along with some notes,
are at:
> 
>        http://people.apache.org/~tdonovan/cmake/HTTPD_CMake.zip
> 
>     Please help yourself to anything here which is useful to your effort.
> 
>     -t-
> 
> 
> Hi Tom,
> 
> By chance did you experiment with FindOpenSSL, FindZLIB, etc.?
> 
> -- 
> Born in Roswell... married an alien...
> http://emptyhammock.com/

Hi Jeff,

I looked at them briefly, but no, I didn't experiment much.

On Windows, those CMake modules seem to have an impossible job.  There is really no "standard"
location on Windows for OpenSSL, Zlib, et. al. - especially since headers are needed in addition
to
the runtime libraries.   These modules pose a risk of finding some unrelated OpenSSL or Zlib
library
which might have been built with a different Windows compiler, and might use a different C
runtime
library.

I used my own rules instead to locate the eleven prerequisites that APR or HTTPD might use
on
Windows.  The rules I made for PCRE, ICONV, LUA, LIBXML2 (or EXPAT), ZLIB, OPENSSL, SQLITE3,
PGSQL,
MYSQL, ORACLE, and BDB (Berkeley DB) were:

*  If the symbol is defined on the CMake command-line, it points to the directory that the
prerequisite is installed in.  i.e. the directory containing bin, include, and lib subdirectories.

e.g.
CMAKE -D SQLITE3=C:/work/sqlite3 -D PCRE=D:/build/pcre  -D ICONV=C:/work/libiconv ...

*  If the symbol is not defined, a check is made for directories named:

srclib\pcre, srclib\libiconv, srclib\lua, srclib\libxml2, srclib\zlib, srclib\openssl,
srclib\sqlite3, srclib\postgresql, srclib\mysql, srclib\oracle, or srclib\berkeleydb.

*  If the symbol isn't defined and the srclib\XXX subdirectory doesn't exist - then the
prerequisite is not present.

-tom-


Mime
View raw message