CMake根据平台移植检查设置文件编译选项

#添加函数检查功能
include(CheckFunctionExists)

//检查系统是否支持accpet4,将检查结果设置至HAVE_ACCEPT4
check_function_exists(accept4 HAVE_ACCEPT4)
if(NOT HAVE_ACCEPT4)
    //如果系统不支持accept4,则针对SocketsOps.cc添加编译选项"-DNO_ACCEPT4"
    set_source_files_properties(SocketsOps.cc PROPERTIES COMPILE_FLAGS "-DNO_ACCEPT4")
endif()

假设代码需要在不同平台,或者不同系统版本间移植,需要检查系统是否支持某些函数.
可以使用CMakeCheckFunctionExists进行检查,并使用set_source_files_properties针对某些文件设置编译选项.

PS:
如果您觉得我的文章对您有帮助,请关注我的微信公众号,谢谢!
程序员打怪之路

原文地址:https://www.cnblogs.com/jason1990/p/10082137.html