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 相同
別忘了在您的專案中包含 SDLmain.h 和 SDLmain.m,以用於基於 OS X 框架的版本。(其他版本連結到 -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 上,這將優先選擇框架版本(如果找到)而非其他版本。人們將必須手動更改 SDL_LIBRARY 的快取值以覆寫此選擇,或設定 CMake 環境 CMAKE_INCLUDE_PATH 以修改搜尋路徑。
請注意,標頭路徑已從 SDL/SDL.h 變更為僅 SDL.h。這需要變更,因為「正確」的 SDL 慣例是 #include "SDL.h",而不是 <SDL/SDL.h>。這樣做是為了可攜性原因,因為並非所有系統都將內容放在 SDL/ 中(請參閱 FreeBSD)。