singe/thirdparty/SDL3_image/cmake/SDL3_imageConfig.cmake.in
2026-09-03 22:01:35 -05:00

151 lines
5.8 KiB
CMake

# sdl3_image cmake project-config input for CMakeLists.txt script
include(FeatureSummary)
set_package_properties(SDL3_image PROPERTIES
URL "https://www.libsdl.org/projects/SDL_image/"
DESCRIPTION "SDL_image is an image file loading library"
)
set(SDL3_image_FOUND ON)
set(SDLIMAGE_AVIF @SDLIMAGE_AVIF_ENABLED@)
set(SDLIMAGE_AVIF_SHARED @SDLIMAGE_AVIF_SHARED@)
set(SDLIMAGE_BMP @SDLIMAGE_BMP_ENABLED@)
set(SDLIMAGE_GIF @SDLIMAGE_GIF_ENABLED@)
set(SDLIMAGE_JPG @SDLIMAGE_JPG_ENABLED@)
set(SDLIMAGE_JPG_SHARED @SDLIMAGE_JPG_SHARED@)
set(SDLIMAGE_JXL @SDLIMAGE_JXL_ENABLED@)
set(SDLIMAGE_JXL_SHARED @SDLIMAGE_JXL_SHARED@)
set(SDLIMAGE_LBM @SDLIMAGE_LBM_ENABLED@)
set(SDLIMAGE_PCX @SDLIMAGE_PCX_ENABLED@)
set(SDLIMAGE_PNG @SDLIMAGE_PNG_ENABLED@)
set(SDLIMAGE_PNG_SHARED @SDLIMAGE_PNG_SHARED@)
set(SDLIMAGE_PNM @SDLIMAGE_PNM_ENABLED@)
set(SDLIMAGE_QOI @SDLIMAGE_QOI_ENABLED@)
set(SDLIMAGE_SVG @SDLIMAGE_SVG_ENABLED@)
set(SDLIMAGE_TGA @SDLIMAGE_TGA_ENABLED@)
set(SDLIMAGE_TIF @SDLIMAGE_TIF_ENABLED@)
set(SDLIMAGE_TIF_SHARED @SDLIMAGE_TIF_SHARED@)
set(SDLIMAGE_XCF @SDLIMAGE_XCF_ENABLED@)
set(SDLIMAGE_XPM @SDLIMAGE_XPM_ENABLED@)
set(SDLIMAGE_XV @SDLIMAGE_XV_ENABLED@)
set(SDLIMAGE_WEBP @SDLIMAGE_WEBP_ENABLED@)
set(SDLIMAGE_WEBP_SHARED @SDLIMAGE_WEBP_SHARED@)
set(SDLIMAGE_JPG_SAVE @SDLIMAGE_JPG_SAVE@)
set(SDLIMAGE_PNG_SAVE @SDLIMAGE_PNG_SAVE@)
set(SDLIMAGE_PNG_LIBPNG @SDLIMAGE_PNG_LIBPNG@)
set(SDLIMAGE_VENDORED @SDLIMAGE_VENDORED@)
set(SDLIMAGE_BACKEND_IMAGEIO @SDLIMAGE_BACKEND_IMAGEIO@)
set(SDLIMAGE_BACKEND_STB @SDLIMAGE_BACKEND_STB@)
set(SDLIMAGE_BACKEND_WIC @SDLIMAGE_BACKEND_WIC@)
set(SDLIMAGE_SDL3_REQUIRED_VERSION @SDL_REQUIRED_VERSION@)
set(SDL3_image_SDL3_image-shared_FOUND FALSE)
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3_image-shared-targets.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/SDL3_image-shared-targets.cmake")
set(SDL3_image_SDL3_image-shared_FOUND TRUE)
endif()
set(SDL3_image_SDL3_image-static_FOUND FALSE)
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3_image-static-targets.cmake")
if(SDLIMAGE_VENDORED)
if(SDLIMAGE_AVIF AND NOT SDLIMAGE_AVIF_SHARED)
find_package(Threads)
endif()
if(SDLIMAGE_JXL AND NOT SDLIMAGE_JXL_SHARED)
include(CheckLanguage)
check_language(CXX)
if(NOT CMAKE_CXX_COMPILER AND NOT _sdl3image_nowarning)
message(WARNING "CXX language not enabled. Linking to SDL3_image::SDL3_image-static might fail.")
endif()
endif()
if(SDLIMAGE_TIF AND NOT SDLIMAGE_TIF_SHARED)
if(NOT TARGET CMath::CMath)
add_library(CMath::CMath INTERFACE IMPORTED)
find_library(CMATH_LIBRARY NAMES m)
if(CMATH_LIBRARY)
set_property(TARGET CMath::CMath PROPERTY INTERFACE_LINK_LIBRARIES "${CMAKE_LIBRARY}")
endif()
endif()
endif()
if(SDLIMAGE_WEBP AND NOT SDLIMAGE_WEBP_SHARED)
find_package(Threads)
endif()
else()
set(_sdl_cmake_module_path "${CMAKE_MODULE_PATH}")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
include(CMakeFindDependencyMacro)
if(SDLIMAGE_AVIF AND NOT TARGET avif AND NOT SDLIMAGE_AVIF_SHARED)
find_package(libavif 1.0 QUIET)
if(NOT libavif_FOUND)
find_package(libavif @LIBAVIF_MINIMUM_VERSION@ QUIET)
endif()
if(NOT libavif_FOUND)
set(SDL3_image_FOUND FALSE)
return()
endif()
endif()
if(SDLIMAGE_JPG AND NOT TARGET JPEG::JPEG AND NOT SDLIMAGE_JPG_SHARED AND NOT (SDLIMAGE_BACKEND_STB OR SDLIMAGE_BACKEND_WIC OR SDLIMAGE_BACKEND_IMAGEIO))
find_dependency(JPEG)
endif()
if(SDLIMAGE_JXL AND NOT TARGET libjxl::libjxl AND NOT SDLIMAGE_JXL_SHARED)
list(APPEND libjxl_ROOT "${CMAKE_CURRENT_LIST_DIR}")
find_dependency(libjxl)
endif()
if(SDLIMAGE_PNG AND SDLIMAGE_PNG_LIBPNG AND NOT TARGET PNG::PNG AND NOT SDLIMAGE_PNG_SHARED)
find_dependency(PNG)
endif()
if(SDLIMAGE_TIF AND NOT TARGET TIFF::TIFF AND NOT SDLIMAGE_TIF_SHARED AND NOT (SDLIMAGE_BACKEND_IMAGEIO OR SDLIMAGE_BACKEND_WIC))
find_dependency(TIFF)
endif()
if(SDLIMAGE_WEBP AND NOT TARGET WebP::webp AND NOT SDLIMAGE_WEBP_SHARED)
list(APPEND webp_ROOT "${CMAKE_CURRENT_LIST_DIR}")
find_dependency(webp)
endif()
set(CMAKE_MODULE_PATH "${_sdl_cmake_module_path}")
unset(_sdl_cmake_module_path)
endif()
include("${CMAKE_CURRENT_LIST_DIR}/SDL3_image-static-targets.cmake")
set(SDL3_image_SDL3_image-static_FOUND TRUE)
endif()
function(_sdl_create_target_alias_compat NEW_TARGET TARGET)
if(CMAKE_VERSION VERSION_LESS "3.18")
# Aliasing local targets is not supported on CMake < 3.18, so make it global.
add_library(${NEW_TARGET} INTERFACE IMPORTED)
set_target_properties(${NEW_TARGET} PROPERTIES INTERFACE_LINK_LIBRARIES "${TARGET}")
else()
add_library(${NEW_TARGET} ALIAS ${TARGET})
endif()
endfunction()
# Make sure SDL3_image::SDL3_image always exists
if(NOT TARGET SDL3_image::SDL3_image)
if(TARGET SDL3_image::SDL3_image-shared)
_sdl_create_target_alias_compat(SDL3_image::SDL3_image SDL3_image::SDL3_image-shared)
elseif(TARGET SDL3_image::SDL3_image-static)
_sdl_create_target_alias_compat(SDL3_image::SDL3_image SDL3_image::SDL3_image-static)
endif()
endif()
if(NOT SDL3_image_COMPONENTS AND NOT TARGET SDL3_image::SDL3_image-shared AND NOT TARGET SDL3_image::SDL3_image-static)
set(SDL3_image_FOUND FALSE)
endif()
@PACKAGE_INIT@
check_required_components(SDL3_image)