FindSDL_net

查找 SDL_net 库,这是一个用于 SDL(Simple DirectMedia Layer)应用程序的跨平台网络库

find_package(SDL_net [<version>] [...])

注意

此模块专门用于 SDL_net 版本 1。从版本 2.1 开始,SDL_net 在使用 CMake 构建时会提供一个 CMake 包配置文件,并且应该使用 find_package(SDL2_net) 来查找。这些较新版本提供了 导入目标 来封装使用要求。有关更多信息,请参阅官方 SDL 文档。

结果变量

此模块定义了以下变量

SDL_net_FOUND

3.3 版本中新增。

布尔值,指示是否找到(请求版本)的 SDL_net 库。

SDL_net_VERSION

版本 4.2 中添加。

包含找到的 SDL_net 版本的人类可读字符串。

SDL_NET_INCLUDE_DIRS

包含使用 SDL_net 库所需的头文件的目录。

SDL_NET_LIBRARIES

链接使用 SDL_net 库所需的库。

提示

此模块接受以下变量

SDLDIR

环境变量,可用于帮助定位安装在自定义位置的 SDL 库。它应指向配置、构建和安装 SDL 库时使用的安装目标:./configure --prefix=$SDLDIR

已弃用变量

以下变量提供用于向后兼容性

SDL_NET_VERSION_STRING

版本 4.2 起已弃用: 使用 SDL_net_VERSION,其值相同。

包含找到的 SDL_net 版本的人类可读字符串。

SDL_NET_FOUND

版本 4.2 起已弃用: 使用 SDL_net_FOUND,其值相同。

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,其值相同。

示例

查找 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 模块。