Eric Noulard wrote:
2010/1/21 Mateusz Loskot <mate...@loskot.net>:

The fact check_function_exists checks C function but not C++ free
function is a bit confusing.

That's true.

AFAIU, CMake is dedicated to build C++ source code,

However that's look false to me :-(

Perhaps I should be more precise, I meant
CMake targets mainly C and C++ and is optimised with C and C++ in mind,
but it does support other platforms too.
At least that's what I've learned from Bill's last video lecture
given to Google folks.

so I suppose many users may expect it works
well for both C and C++ free functions.

Why it can not work, actually?

You don't want to "enable " ( see CMake command
enable_language(languageName [OPTIONAL] )
C++ for people which do "only" use plain C.

Got your point.
Then I see a little inconsistency.
Some macros use CXX moniker in their names to indicate they
are C++ specific. Why not apply this rule to all macros where
C vs C++ incompatibilities do apply.
Meaning, why there is no CheckCXXFunctionExists equivalent.

Naming consistency is one of the best practices in hacking, isn't it?

Thus the check_functions may be updated to be smart enough to try C++
free function if ever C++ language has been enabled?
My be checking CMAKE_CXX_COMPILER_WORKS is possible ?
or may be it would be easier to explicitely tell this fact to the macro

CHECK_FUNCTION_EXISTS(std::copy HAVE_COPY LANGUAGE CXX)

That's right, or use separate macro with CXX in name.

Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to