From 9d288432e99923b263631348420d3eda0260167b Mon Sep 17 00:00:00 2001 From: "Amine B. Hassouna" Date: Sun, 3 Feb 2019 09:59:46 +0100 Subject: [PATCH] Modernize FindSDL2_gfx.cmake (SDL2::GFX) --- FindSDL2_gfx.cmake | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/FindSDL2_gfx.cmake b/FindSDL2_gfx.cmake index 01d703c..05963f4 100644 --- a/FindSDL2_gfx.cmake +++ b/FindSDL2_gfx.cmake @@ -7,6 +7,16 @@ FindSDL2_gfx Locate SDL2_gfx library +This module defines the following 'IMPORTED' target: + +:: + + SDL2::GFX + The SDL2_gfx library, if found. + Have SDL2::Core as a link dependency. + + + This module will set the following variables in your project: :: @@ -42,8 +52,9 @@ Additional Note: If you see an empty SDL2_GFX_LIBRARY in your project configuration, it means CMake did not find your SDL2_gfx library (SDL2_gfx.dll, libsdl2_gfx.so, etc). Set SDL2_GFX_LIBRARY to point to your SDL2_gfx library, and configure again. This value is used to -generate the final SDL2_GFX_LIBRARIES variable, but when this value is -unset, SDL2_GFX_LIBRARIES does not get created. +generate the final SDL2_GFX_LIBRARIES variable and the SDL2::GFX target, +but when this value is unset, SDL2_GFX_LIBRARIES and SDL2::GFX does not +get created. $SDL2GFXDIR is an environment variable that would correspond to the @@ -59,6 +70,8 @@ Created by Amine Ben Hassouna: Add cache variables for more flexibility: SDL2_GFX_PATH, SDL2_GFX_NO_DEFAULT_PATH (for details, see doc above). Add SDL2 as a required dependency. + Modernize the FindSDL2_gfx.cmake module by creating a specific target: + SDL2::GFX (for details, see doc above). Original FindSDL_image.cmake module: Created by Eric Wing. This was influenced by the FindSDL.cmake @@ -164,3 +177,15 @@ mark_as_advanced(SDL2_GFX_PATH SDL2_GFX_LIBRARY SDL2_GFX_INCLUDE_DIR) + +if(SDL2_GFX_FOUND) + + # SDL2::GFX target + if(SDL2_GFX_LIBRARY AND NOT TARGET SDL2::GFX) + add_library(SDL2::GFX UNKNOWN IMPORTED) + set_target_properties(SDL2::GFX PROPERTIES + IMPORTED_LOCATION "${SDL2_GFX_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${SDL2_GFX_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES SDL2::Core) + endif() +endif()