10bet网址
MySQL内部手册


4.4.8对于开发人员:如何编写平台检查

如果你修改MySQL源代码并想添加一个新的平台检查,请阅读http://www.vtk.org/Wiki/CMake_HowToDoPlatformChecks第一。在MySQL中,大多数平台测试是在configure.cmake模板头文件,config.h.cmake

类的文件中实现了更大的功能块,例如重要的宏cmake子目录。

对于具有自动工具背景的人来说,记住CMake不提供自动标头功能是很重要的。例如,如果您将此支票添加到config.cmake:

CHECK_FUNCTION_EXISTS (foo HAVE_FOO)

然后还必须将下面的行添加到config.h.cmake:

# cmakedefine HAVE_FOO 1

有用的部分:

  • 检查是否存在C/ c++编译器标记CHECK_C_COMPILER_FLAGCHECK_CXX_COMPILER_FLAG

下面是一个检查(假设)的例子喷火在C编译器中支持标志,并将其添加到C标志中,如果该标志被支持:

CHECK_C_COMPILER_FLAG("-foo" HAVE_C_COMPILER_FOO) IF(HAVE_COMPILER_FOO) SET("${CMAKE_C_FLAGS} -foo") ENDIF()