FindSDL_ttf¶
查找 SDL_ttf 库,该库支持在 SDL (Simple DirectMedia Layer) 应用程序中渲染带有 TrueType 字体的文本。
注意
此模块专门针对 SDL_ttf 版本 1。从版本 2.0.15 开始,SDL_ttf 在使用 CMake 构建时会提供 CMake 包配置文件,并且应使用 find_package(SDL2_ttf)
来查找。同样,SDL_ttf 版本 3 可以使用 find_package(SDL3_ttf)
来查找。这些较新版本提供了 导入目标,它们封装了使用要求。有关更多信息,请参阅 SDL 官方文档。
结果变量¶
此模块定义了以下变量
SDL_TTF_FOUND
一个布尔值,指示是否找到了(请求版本的)SDL_ttf 库。为了向后兼容,
SDL_TTF_FOUND
变量也设置为相同的值。SDL_TTF_VERSION_STRING
包含找到的 SDL_ttf 版本的人类可读字符串。
SDL_TTF_INCLUDE_DIRS
包含使用 SDL_ttf 库所需的头文件的包含目录。
SDL_TTF_LIBRARIES
链接 SDL_ttf 所需的库。
已弃用变量¶
为了向后兼容,以下变量也已设置
SDLTTF_FOUND
自版本 2.8.10 起已弃用:已被
SDL_TTF_FOUND
取代,该变量具有相同的值。SDLTTF_INCLUDE_DIR
自版本 2.8.10 起已弃用:已被
SDL_TTF_INCLUDE_DIRS
取代,该变量具有相同的值。SDLTTF_LIBRARY
自版本 2.8.10 起已弃用:已被
SDL_TTF_LIBRARIES
取代,该变量具有相同的值。
提示¶
此模块接受以下变量
SDLDIR
环境变量,可以设置该变量以帮助定位安装在自定义位置的 SDL 库。它应该指向在配置、构建和安装 SDL 库时使用的安装目标:
./configure --prefix=$SDLDIR
。
示例¶
查找 SDL_ttf 库并创建一个导入的接口目标,以便将其链接到项目目标
find_package(SDL_ttf)
if(SDL_ttf_FOUND AND NOT TARGET SDL::SDL_ttf)
add_library(SDL::SDL_ttf INTERFACE IMPORTED)
set_target_properties(
SDL::SDL_ttf
PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${SDL_TTF_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${SDL_TTF_LIBRARIES}"
)
endif()
target_link_libraries(project_target PRIVATE SDL::SDL_ttf)
在使用 SDL_ttf 版本 2 时,上游包直接提供了 SDL2_ttf::SDL2_ttf
导入目标。可以在项目中使用它,而无需使用此模块。
find_package(SDL2_ttf)
target_link_libraries(project_target PRIVATE SDL2_ttf::SDL2_ttf)
同样,对于 SDL_ttf 版本 3
find_package(SDL3_ttf)
target_link_libraries(project_target PRIVATE SDL3_ttf::SDL3_ttf)
另请参阅¶
用于查找主 SDL 库的
FindSDL
模块。