[cmake-developers] CheckStructHasMember does not support C++ only structs

Daniele E. Domenichelli daniele.domenichelli at gmail.com
Tue Sep 24 03:50:09 EDT 2013


On 23/09/13 17:50, Brad King wrote:
> One could add an optional extra parameter to specify the language
> to be used for the check (C or CXX).  However, we should do something
> that could be re-used in the similar modules too.  Would you mind
> surveying all the check signatures we currently have and reporting
> back on their need/use of per-language variants?


It looks like that the signatures are not very consistent...


CheckCCompilerFlag.cmake                CHECK_C_COMPILER_FLAG(<flag> <var>)
CheckCXXCompilerFlag.cmake              CHECK_CXX_COMPILER_FLAG(<flag> <var>)

CheckCSourceCompiles.cmake              CHECK_C_SOURCE_COMPILES(<code> <var> [FAIL_REGEX <fail-regex>])
CheckCXXSourceCompiles.cmake            CHECK_CXX_SOURCE_COMPILES(<code> <var> [FAIL_REGEX <fail-regex>])

CheckCSourceRuns.cmake                  CHECK_C_SOURCE_RUNS(<code> <var>)
CheckCXXSourceRuns.cmake                CHECK_CXX_SOURCE_RUNS(<code> <var>)

CheckSymbolExists.cmake                 CHECK_SYMBOL_EXISTS(<symbol> <files> <variable>)
CheckCXXSymbolExists.cmake              CHECK_CXX_SYMBOL_EXISTS(<symbol> <files> <variable>)

CheckFunctionExists.cmake               CHECK_FUNCTION_EXISTS(<function> <variable>)
CheckFortranFunctionExists.cmake        CHECK_FORTRAN_FUNCTION_EXISTS(FUNCTION VARIABLE)

CheckIncludeFile.cmake                  CHECK_INCLUDE_FILE(INCLUDE VARIABLE)
CheckIncludeFileCXX.cmake               CHECK_INCLUDE_FILE_CXX(INCLUDE VARIABLE)

CheckIncludeFiles.cmake                 CHECK_INCLUDE_FILES(INCLUDE VARIABLE)

CheckLanguage.cmake                     check_language(<lang>)

CheckLibraryExists.cmake                CHECK_LIBRARY_EXISTS (LIBRARY FUNCTION LOCATION VARIABLE)

CheckPrototypeDefinition.cmake          check_prototype_definition(FUNCTION PROTOTYPE RETURN HEADER VARIABLE)

CheckStructHasMember.cmake              CHECK_STRUCT_HAS_MEMBER (STRUCT MEMBER HEADER VARIABLE)

CheckTypeSize.cmake                     CHECK_TYPE_SIZE(TYPE VARIABLE [BUILTIN_TYPES_ONLY])

CheckVariableExists.cmake               CHECK_VARIABLE_EXISTS(VAR VARIABLE)




 Daniele



More information about the cmake-developers mailing list