At 07:44 PM 6/6/2006, Brandon J. Van Every wrote:
>I erroneously had this code:
>
> CHECK_INCLUDE_FILE(winsock2.h HAVE_WINSOCK2_H)
> IF(HAVE_WINSOCK2_H)
>   ADD_DEFINITIONS(HAVE_WINSOCK2_H)
> ENDIF(HAVE_WINSOCK2_H)
>
>and of course CMakeSetup took it just fine because it thought I knew what I 
>was doing.  When 'make' got around to .c compilation, gcc spewed a whole slew 
>of really bizarre errors about HAVE_WINSOCK2_H not being a valid file.  Of 
>course I should have used a -D
>
> CHECK_INCLUDE_FILE(winsock2.h HAVE_WINSOCK2_H)
> IF(HAVE_WINSOCK2_H)
>   ADD_DEFINITIONS(-DHAVE_WINSOCK2_H)
> ENDIF(HAVE_WINSOCK2_H)
>
>but it makes me think, if the purpose of the function is to add definitions, 
>why not check whether those definitions are vaguely well formed?  Would it be 
>difficult?  I mean, for any given generator, we know what -D or /D flags it 
>takes.

There have been several reports about this problem.   The command is very
old in cmake, and really should work like they way you used it.  However,
at this point, I don't think we can break compatibility with it.  People
send all sorts of compiler flags via that function.  At some point, we
should create a new function ADD_COMPILER_DEFINE, and tell people to
use CMAKE_C_FLAGS or CMAKE_CXX_FLAGS to pass flags to the compiler.

-Bill

_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to