FindSDL¶
定位 SDL 库
导入目标¶
版本 3.19 新增。
此模块定义了以下 IMPORTED
目标
SDL::SDL
SDL 库(如果找到)
结果变量¶
此模块将在您的项目中设置以下变量
SDL_INCLUDE_DIRS
SDL.h 的查找路径
SDL_LIBRARIES
要链接的库的名称
SDL_FOUND
如果为 false,请勿尝试链接到 SDL
SDL_VERSION
包含 SDL 版本的、人类可读的字符串(如果找到)
SDL_VERSION_MAJOR
SDL 主版本
SDL_VERSION_MINOR
SDL 次版本
SDL_VERSION_PATCH
SDL 补丁版本
版本 3.19 新增: 添加了 SDL_INCLUDE_DIRS
、SDL_LIBRARIES
和 SDL_VERSION[_<PART>]
变量。
缓存变量¶
这些变量可以可选地设置,以帮助此模块找到正确的文件
SDL_INCLUDE_DIR
SDL.h 的查找路径
SDL_LIBRARY
要链接的库的名称
用于定位 SDL 的变量¶
此模块响应以下标志
SDL_BUILDING_LIBRARY
如果定义了此项,则不会链接 SDL_main,因为只有应用程序才需要 main()。否则,将假定您正在构建一个应用程序,并且此模块将尝试定位并设置正确的链接标志,作为返回的 SDL_LIBRARY 变量的一部分。
过时变量¶
自版本 3.19 起已弃用。
这些变量已过时,仅为向后兼容性而提供
SDL_VERSION_STRING
包含 SDL 版本的、人类可读的字符串(如果找到)。与 SDL_VERSION 相同
不要忘记为基于 OS X 框架的版本在您的项目中包含 SDLmain.h 和 SDLmain.m。(其他版本链接到 -lSDLmain,此模块将尝试为您找到它。)同样对于 OS X,此模块将自动为您添加 -framework Cocoa。
附加说明:如果您在配置中看到空的 SDL_LIBRARY_TEMP 且没有 SDL_LIBRARY,则表示 CMake 未找到您的 SDL 库(SDL.dll、libsdl.so、SDL.framework 等)。将 SDL_LIBRARY_TEMP 设置为指向您的 SDL 库,然后重新配置。同样,如果您看到空的 SDLMAIN_LIBRARY,您应该根据需要设置此值。这些值用于生成最终的 SDL_LIBRARY 变量,但当这些值未设置时,SDL_LIBRARY 不会创建。
$SDLDIR 是一个环境变量,它对应于构建 SDL 时使用的 ./configure --prefix=$SDLDIR。 l.e.galup 9-20-02
在 OSX 上,这将优先选择 Framework 版本(如果找到)。人们将必须手动更改 SDL_LIBRARY 的缓存值以覆盖此选择,或设置 CMake 环境变量 CMAKE_INCLUDE_PATH 以修改搜索路径。
请注意,头文件路径已从 SDL/SDL.h 更改为仅 SDL.h。这需要更改,因为“正确”的 SDL 约定是 #include "SDL.h",而不是 <SDL/SDL.h>。这样做是出于可移植性原因,因为并非所有系统都将内容放在 SDL/ 中(请参阅 FreeBSD)。