httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gregg Smith <...@gknw.net>
Subject Re: will anyone build httpd/apr with cmake on Windows?
Date Sat, 31 Aug 2013 19:53:45 GMT
Hi Jeff,

Message 1 of ?

On 8/30/2013 5:25 AM, Jeff Trawick wrote:
> Please let me know if you
>
> * are waiting for some certain feature (other than near perfection) 
> before you use it
> * attempt to use it but are slowed down by tool requirements or bad 
> documentation or anything else
> * attempt to use it but it fails so badly that you leave it in disgust 
> with no desire to report or try to fix anything
> * try it and it works for you (what cmake backend, what other build 
> characteristics)
> * etc.

Well, putting on my Apache Haus hat my first impressions are "What a 
nightmare!" :)
I must say I prefer the more turnkey approach we enjoy these days, that 
said;

I tried this via command line, not the GUI. First creating a batch file 
took quite a bit of the pain out of it. For me, long command lines leave 
a lot of room for typos.

Problems run into;
WARNING: Target "mod_proxy_html" requests linking to directory 
"C:/buildc/libxml2/win32/bin.msvc".
Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "mod_xml2enc" requests linking to directory 
"C:/buildc/libxml2/win32/bin.msvc".  Tar
gets may link only to libraries.  CMake is dropping the item.

Having to list actual library files is ok for me, but a noob probably 
doesn't know just what lib/s your looking for. MSVC linker has 
/LIBPATH:<path> where if anything, only the directory would need to be 
listed as long as the needed libraies are listed in $(LIBS). What is 
worse here is I see this in the beginningISH;
-- Found LibXml2: C:/buildc/libxml2/win32/bin.msvc
so no it really didn't!

Then:

-- Could NOT find OpenSSL  (missing:  OPENSSL_LIBRARIES OPENSSL_INCLUDE_DIR)
-- mod_deflate was requested but couldn't be built due to a missing 
prerequisite (ZLIB_FOUND)
-- mod_ssl was requested but couldn't be built due to a missing 
prerequisite (OPENSSL_FOUND)
Again, basically same complaint as above. If we only need to give an 
whathaveyou_include_dir, why not a whathaveyou_lib_dir?

Some comments I have received off list by folks who will remain unnamed;
1. When I see the readme, there are quite some restrictions. Not sure 
yet if that hurts us much.
2. I foresee more maintenance/support/issues with  cmake, I see it with 
other products using it. It introduces an other dependency.
3. Just wondering what is the drive to go the cmake way, I see no that 
issues with the current way.
4. Just puzzling with cmake. Do not know how to start.

My personal comments;

PCRE requires CMake, so the one more required tool I see as moot.

This process seems to add a lot of time spent to the build time. This 
process seems much more complex and noobs will probably be bald from 
pulling out their hair by the time they figure it out.

On Windows we build all but /extra modules (BuildBin vs. BuildAll with 
the GUI route), would like to see that remain.
On Windows we have a good default config loading just what is needed, 
would like to see that remain.

Why not just look for dependencies where you would find them today 
(source_root\srclib)? We know where everything should be already and 
would really save all the -DTHISnTHAT_INCLUDE/LIB_DIR business. Yes, I 
understand (and one thing I do not like) is that cmake copies & creates 
files into a different directory, with hard coded pointers to 
everything, but I do not see why we should need more that installdir & 
srcdir. Optional sure, having to use those every time, no! I think 
src_dir/srclib would be a better default location than what is there 
now. One thing if you have to set all these in the GUI, that alone could 
take someone an hour if the have to browse to everything (I'd copy/paste 
paths from Explorer personally).

I've never actually "nmake install" any dependency, it's rather useless 
on Windows. I have to create multiple mod_ssl with different openssl 
versions so installing openssl would limit that. This might help you 
understand my suggestion about dependencies :)

Obviously I have not built the binaries yet. I need to put it down for 
awhile now but will try more this weekend.

Cheerio and happy Labor Day,

Gregg



Mime
View raw message