vcpkg/ports/sfml/fix-dependencies.patch

76 lines
3.1 KiB
Diff
Raw Normal View History

diff --git a/cmake/SFMLConfig.cmake.in b/cmake/SFMLConfig.cmake.in
index ce81953..bd2d330 100644
--- a/cmake/SFMLConfig.cmake.in
+++ b/cmake/SFMLConfig.cmake.in
@@ -1,3 +1,8 @@
+set(SFML_STATIC_LIBRARIES false)
+if(NOT "@BUILD_SHARED_LIBS@")
+ set(SFML_STATIC_LIBRARIES true)
+endif()
+include(CMakeFindDependencyMacro)
# This script provides the SFML libraries as imported targets
# ------------------------------------
#
diff --git a/cmake/SFMLConfigDependencies.cmake.in b/cmake/SFMLConfigDependencies.cmake.in
index 1028110..927d1a4 100644
--- a/cmake/SFMLConfigDependencies.cmake.in
+++ b/cmake/SFMLConfigDependencies.cmake.in
@@ -56,6 +56,9 @@ if(SFML_STATIC_LIBRARIES)
if (FIND_SFML_OS_WINDOWS)
set_property(TARGET OpenGL APPEND PROPERTY INTERFACE_LINK_LIBRARIES "OpenGL32")
elseif(NOT FIND_SFML_OS_IOS)
+ set(OpenGL_GL_PREFERENCE "@EXPORT_OpenGL_GL_PREFERENCE@")
+ find_dependency(OpenGL)
+ set(OpenGL_LIB OpenGL::GL)
sfml_bind_dependency(TARGET OpenGL FRIENDLY_NAME "OpenGL" SEARCH_NAMES "OpenGL" "GL")
endif()
endif()
@@ -63,6 +66,8 @@ if(SFML_STATIC_LIBRARIES)
# sfml-graphics
list(FIND SFML_FIND_COMPONENTS "graphics" FIND_SFML_GRAPHICS_COMPONENT_INDEX)
if(FIND_SFML_GRAPHICS_COMPONENT_INDEX GREATER -1)
+ find_dependency(Freetype)
+ set(FreeType_LIB Freetype::Freetype)
sfml_bind_dependency(TARGET Freetype FRIENDLY_NAME "FreeType" SEARCH_NAMES "freetype")
endif()
diff --git a/src/SFML/Graphics/CMakeLists.txt b/src/SFML/Graphics/CMakeLists.txt
index 883c758..402efbe 100644
--- a/src/SFML/Graphics/CMakeLists.txt
+++ b/src/SFML/Graphics/CMakeLists.txt
@@ -97,7 +97,8 @@ sfml_add_library(sfml-graphics
target_link_libraries(sfml-graphics PUBLIC sfml-window)
# stb_image sources
-target_include_directories(sfml-graphics PRIVATE "${PROJECT_SOURCE_DIR}/extlibs/headers/stb_image")
+find_path(STB_INCLUDE_DIR stb_image.h REQUIRED)
+target_include_directories(sfml-graphics PRIVATE "${STB_INCLUDE_DIR}")
# let CMake know about our additional graphics libraries paths
if(SFML_OS_WINDOWS)
@@ -134,7 +134,8 @@ if(SFML_OS_ANDROID)
target_link_libraries(sfml-graphics PRIVATE z EGL GLESv1_CM)
endif()
-sfml_find_package(Freetype INCLUDE "FREETYPE_INCLUDE_DIRS" LINK "FREETYPE_LIBRARY")
+set(FreeType_LIB Freetype::Freetype)
+sfml_find_package(Freetype LINK FreeType_LIB)
target_link_libraries(sfml-graphics PRIVATE Freetype)
# add preprocessor symbols
diff --git a/src/SFML/Window/CMakeLists.txt b/src/SFML/Window/CMakeLists.txt
index 98ea439..0f1fb53 100644
--- a/src/SFML/Window/CMakeLists.txt
+++ b/src/SFML/Window/CMakeLists.txt
@@ -254,7 +254,9 @@ if(SFML_OPENGL_ES)
target_link_libraries(sfml-window PRIVATE EGL GLESv1_CM)
endif()
else()
- sfml_find_package(OpenGL INCLUDE "OPENGL_INCLUDE_DIR" LINK "OPENGL_LIBRARIES")
+ set(EXPORT_OpenGL_GL_PREFERENCE "${OpenGL_GL_PREFERENCE}" CACHE INTERNAL "")
+ set(OpenGL_LIB OpenGL::GL)
+ sfml_find_package(OpenGL LINK OpenGL_LIB)
target_link_libraries(sfml-window PRIVATE OpenGL)
endif()