FindSDL_net¶
查找 SDL_net 库,这是一个用于 SDL (Simple DirectMedia Layer) 应用程序的跨平台网络库。
注意
此模块专门用于 SDL_net 版本 1。从版本 2.1 开始,SDL_net 在使用 CMake 构建时会提供一个 CMake 包配置文件,应使用 find_package(SDL2_net)
来查找。这些较新版本提供了 导入目标 来封装使用要求。有关更多信息,请参阅官方 SDL 文档。
结果变量¶
此模块定义了以下变量
SDL_net_FOUND
一个布尔值,指示是否找到了(请求版本的)SDL_net 库。为了向后兼容,
SDL_NET_FOUND
变量也被设置为相同的值。SDL_NET_VERSION_STRING
包含所找到的 SDL_net 版本的人类可读字符串。
SDL_NET_INCLUDE_DIRS
包含使用 SDL_net 库所需的头文件的目录。
SDL_NET_LIBRARIES
链接 SDL_net 库所需的库。
已弃用变量¶
为了向后兼容,以下变量也已设置
SDLNET_FOUND
自 2.8.10 版本起已弃用: 使用
SDL_net_FOUND
,其值相同。SDLNET_INCLUDE_DIR
自 2.8.10 版本起已弃用: 使用
SDL_NET_INCLUDE_DIRS
,其值相同。SDLNET_LIBRARY
自 2.8.10 版本起已弃用: 使用
SDL_NET_LIBRARIES
,其值相同。
提示¶
此模块接受以下变量
SDLDIR
环境变量,可以设置该变量来帮助定位安装在自定义位置的 SDL 库。它应指向配置、构建和安装 SDL 库时使用的安装目标:
./configure --prefix=$SDLDIR
。
示例¶
查找 SDL_net 库并为项目目标创建导入的接口目标以链接它
find_package(SDL_net)
if(SDL_net_FOUND AND NOT TARGET SDL::SDL_net)
add_library(SDL::SDL_net INTERFACE IMPORTED)
set_target_properties(
SDL::SDL_net
PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${SDL_NET_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${SDL_NET_LIBRARIES}"
)
endif()
target_link_libraries(project_target PRIVATE SDL::SDL_net)
在使用 SDL_net 版本 2 时,上游包直接提供了 SDL2_net::SDL2_net
导入目标。它可以在项目中使用,而无需使用此模块。
find_package(SDL2_net)
target_link_libraries(project_target PRIVATE SDL2_net::SDL2_net)
另请参阅¶
用于查找主 SDL 库的
FindSDL
模块。