What happened to FindSDL2 in CMake?
FindSDL2 has never appeared in CMake.
Following the reject reason in pull request #149, SDL2 ships with a SDL2Config.cmake
, which provides a cmake package.
The documentation for find_package
states that find_package(SDL2)
will behave as follows:
- Look for
FindSDL2.cmake
, use that if it exists. (module mode) - Otherwise, use the information in
SDL2Config.cmake
orsdl2-config.cmake
. (config mode)
In short, make sure that your SDL2 package has installed the SDL2Config.cmake
file and that is on your CMAKE_PREFIX_PATH
. The documentation lists the exact paths and prefixes it looks under.
To easily integrate the SDL2 library, I developed cross-platform modern CMake modules for finding and using the SDL2 library as well as other related libraries:
- SDL2: example, game example
- SDL2_image: example
- SDL2_ttf: example
- SDL2_mixer: example
- SDL2_net
- SDL2_gfx: animation example
So the only things that you should do in order to integrate the SDL2 library are:
- Clone SDL2 CMake modules inside your project:
git clone https://github.com/aminosbh/sdl2-cmake-modules cmake/sdl2
- Add the following lines in your main
CMakeLists.txt
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/sdl2)
find_package(SDL2 REQUIRED)
target_link_libraries(${PROJECT_NAME} SDL2::Main)
Note: If CMake didn't find the SDL2 library (in Windows), we can specify the CMake option SDL2_PATH
as follows:
cmake .. -DSDL2_PATH="/path/to/sdl2"
For more details, please read the README.md file.
This is a list of SDL2 samples and projects: https://github.com/aminosbh/sdl-samples-and-projects