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