| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #[[
- Find module for SDL_image version 2 that matches the naming convention of the SDL2_imageConfig.cmake file
- provided in official distributions of the SDL2_image library.
- This is necessary on some distributions, including Ubuntu 20.04 and 22.04, because the libsdl2-image-dev package
- doesn't provide the config file. https://packages.ubuntu.com/focal/amd64/libsdl2-image-dev/filelist
- Furthermore, the CMake integrated find module is only compatible with the SDL1_image.
- Defines the imported CMake target:
- SDL2_image::SDL2_image
- In addition, the following CMake variables are defined according to normal conventions:
- SDL2_IMAGE_LIBRARIES
- SDL2_IMAGE_INCLUDE_DIRS
- SDL2_IMAGE_FOUND
- ]]
- # Prefer config mode.
- find_package(SDL2_image CONFIG QUIET)
- if(TARGET SDL2_image::SDL2_image)
- return()
- endif()
- # Not found in config mode, proceed as a normal find module.
- find_path(SDL2_IMAGE_INCLUDE_DIR SDL_image.h
- HINTS ENV SDL2_IMAGE_DIR
- PATH_SUFFIXES SDL2
- )
- find_library(SDL2_IMAGE_LIBRARY
- NAMES SDL2_image
- HINTS ENV SDL2_IMAGE_DIR
- PATH_SUFFIXES lib
- )
- set(SDL2_IMAGE_INCLUDE_DIRS ${SDL2_IMAGE_INCLUDE_DIR})
- set(SDL2_IMAGE_LIBRARIES ${SDL2_IMAGE_LIBRARY})
- include(FindPackageHandleStandardArgs)
- find_package_handle_standard_args(SDL2_image
- REQUIRED_VARS SDL2_IMAGE_LIBRARIES SDL2_IMAGE_INCLUDE_DIRS
- )
- mark_as_advanced(SDL2_IMAGE_LIBRARY SDL2_IMAGE_INCLUDE_DIR)
- if(SDL2_IMAGE_FOUND)
- if(NOT TARGET SDL2_image::SDL2_image)
- add_library(SDL2_image::SDL2_image INTERFACE IMPORTED)
- set_target_properties(SDL2_image::SDL2_image PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "${SDL2_IMAGE_INCLUDE_DIRS}"
- INTERFACE_LINK_LIBRARIES "${SDL2_IMAGE_LIBRARIES}"
- )
- endif()
- endif()
|