curl-library
Re: CMake: fix for Windows x64 build with MSVS Compiler
Date: Fri, 30 Mar 2012 00:21:34 +0400
Hello Yang,
Thursday, March 29, 2012, 11:33:32 PM, you wrote:
YT> 2012/3/29 Steve Holme wrote:
>> However, I do like your "more generic the better" approach. As such I am
>> wondering, is it possible to use this approach in curlbuild.h and provide
>> consistency between the two?
YT> No. Even after some years, the cmake build is not even close to build
YT> libcurl in the same way as it would get built when using other build
YT> system. Cross-contamination from libcurl's cmake build system into the
YT> other ones is quite risky.
While I see your point, I cannot completely agree.
First off, CMake build system is not compatible with configure, which
makes cross-contamination hardly ever possible.
Consider curlbuild.h.cmake, for example. While it is basically the
same as curlbuild.h.in, the macros there are incompatible with
configure.
YT> Just for jiggles... I have tried the cmake build a while ago with VS6
YT> and horror of horrors it creates a curl_off_t definition which is only
YT> 32bit instead of a 64bit proper one, and the same for ssize_t. Thise
YT> are so serious that I'm not sure it is worth mentioning that the
YT> following definitions are also wrong or missing :-(
YT> NEED_MALLOC_H
[...]
YT> USE_THREADS_WIN32
There are currently several problems with CMake build on Windows. The
most grave one is, many tests do not succeed under Windows due to
absence of #include <windows.h> directive (I mean file
CMake/CurlTests.c).
There is other, more subtle problem: for some reason that is not yet
clear to me, some variables (like e.g. HAVE_GETADDRINFO) are already
present in CMake before the corresponding test is invoked. This
results in test being skipped altogether (as if it has already been
run).
YT> I really hope that the results are better when using other compilers
YT> or platforms.
For windows, the situation is as described above, and CMake tests need
to be improved.
For UNIX platforms, CMake seems to work better.
-- Best regards, Tetetest mailto:tetetest_at_rambler.ru ------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.htmlReceived on 2012-03-29