On 08/22/2013 04:55 PM, Jeff Trawick wrote:
> On Thu, Aug 22, 2013 at 10:49 AM, Tom Donovan <donov...@bellatlantic.net
> <mailto:donov...@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-

Reply via email to