[CMake] Checking function or symbol in namespace

Michael Wild themiwi at gmail.com
Thu Jan 21 00:52:33 EST 2010


On 21. Jan, 2010, at 24:55 , Mateusz Loskot wrote:

> Hi,
> 
> I'm trying to perform the following checks:
> 
> check_function_exists(std::pow HAVE_POW)
> 
> or
> 
> check_symbol_exists(std::pow cmath HAVE_POW)
> 
> but it looks that both macros have troubles
> with resolving std:: namespace.
> 
> The documentation is not very clear about that.
> 
> Or I should stick to try_compile based tests?
> 
> Best regards,
> 


AFAIK check_symbol_exists is used for preprocessor symbols. check_function_exists looks for C functions, not C++. Also notice, that older C++ standard libraries and non-compliant C++ compilers don't use the namespace std. You might want to have a look at CMakeBackwardCompatibilityCXX.cmake or the various other modules it uses.


HTH

Michael



More information about the CMake mailing list