From 12f4c2e8f295db12fca6217a2f035a404f1ede3a Mon Sep 17 00:00:00 2001
From: Cameron Cawley <[EMAIL REDACTED]>
Date: Wed, 23 Mar 2022 18:22:52 +0000
Subject: [PATCH] Use pkg-config with CMake and set Requires.private when
possible
---
CMakeLists.txt | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2f5d804..0559b12 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -48,13 +48,18 @@ else()
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)
+find_package(PkgConfig QUIET)
if (NOT (TARGET SDL2 OR TARGET SDL2-static))
find_package(SDL2 REQUIRED)
endif()
if (NOT (TARGET Freetype::Freetype))
- find_package(Freetype REQUIRED)
+ pkg_check_modules(freetype2 IMPORTED_TARGET freetype2)
+ if (freetype2_FOUND)
+ set(PC_REQUIRES "freetype2 ${PC_REQUIRES}")
+ else()
+ find_package(Freetype REQUIRED)
+ endif()
endif()
-find_package(PkgConfig QUIET)
set(SDL_TTF_MAJOR_VERSION 2)
set(SDL_TTF_MINOR_VERSION 0)
@@ -73,7 +78,11 @@ else()
set_target_properties(SDL2_ttf PROPERTIES POSITION_INDEPENDENT_CODE ON)
endif()
endif()
-target_link_libraries(SDL2_ttf Freetype::Freetype)
+if (TARGET Freetype::Freetype)
+ target_link_libraries(SDL2_ttf Freetype::Freetype)
+else()
+ target_link_libraries(SDL2_ttf PkgConfig::freetype2)
+endif()
target_include_directories(SDL2_ttf PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/SDL2>)
install(