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)。