File linkfix.patch of Package krkrsdl2
--- CMakeLists.txt.orig 2025-03-24 17:16:15.330663368 +0800
+++ CMakeLists.txt 2025-03-24 17:40:49.463533202 +0800
@@ -386,14 +386,35 @@
get_target_property(SDL2_INCLUDE_DIRS SDL2-static INCLUDE_DIRECTORIES)
set(SDL2_LIBRARIES SDL2-static)
elseif((APPLE AND NOT IOS) OR (${CMAKE_SYSTEM_NAME} STREQUAL "Linux"))
-set(SDL_SHARED_ENABLED_BY_DEFAULT OFF)
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/external/SDL)
-find_library(SDL2 NAMES SDL2-static)
-list(APPEND KRKRSDL2_LIBS
- SDL2-static
+find_package(SDL2 REQUIRED CONFIG REQUIRED COMPONENTS SDL2)
+find_package(PkgConfig)
+find_package(Freetype REQUIRED)
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}")
+find_package(JXR REQUIRED)
+pkg_check_modules(ogg REQUIRED IMPORTED_TARGET ogg)
+pkg_check_modules(simde REQUIRED IMPORTED_TARGET simde)
+pkg_check_modules(oniguruma REQUIRED IMPORTED_TARGET oniguruma)
+pkg_check_modules(opus REQUIRED IMPORTED_TARGET opus)
+pkg_check_modules(opusfile REQUIRED IMPORTED_TARGET opusfile)
+pkg_check_modules(libturbojpeg REQUIRED IMPORTED_TARGET libturbojpeg)
+pkg_check_modules(libjpeg REQUIRED IMPORTED_TARGET libjpeg)
+pkg_check_modules(libpng REQUIRED IMPORTED_TARGET libpng)
+pkg_check_modules(zlib REQUIRED IMPORTED_TARGET zlib)
+list(APPEND KRKRSDL2_LIBS
+ SDL2::SDL2
+ PkgConfig::zlib
+ Freetype::Freetype
+ PkgConfig::libturbojpeg
+ PkgConfig::ogg
+ PkgConfig::opus
+ PkgConfig::opusfile
+ PkgConfig::simde
+ PkgConfig::oniguruma
+ PkgConfig::libjpeg
+ PkgConfig::libpng
+ JXR
)
+ include_directories(${JXR_INCLUDE_DIRS})
-get_target_property(SDL2_INCLUDE_DIRS SDL2-static INCLUDE_DIRECTORIES)
-set(SDL2_LIBRARIES SDL2-static)
elseif(ANDROID)
set(SDL_SHARED_ENABLED_BY_DEFAULT ON)
set(SDL_STATIC_ENABLED_BY_DEFAULT OFF)
@@ -456,7 +477,7 @@
set(BUILD_SHARED_LIBS OFF CACHE BOOL "Intentionally disabled for FAudio: Build shared libraries" FORCE)
set(_DISABLE_INSTALLATION_OLD ${_DISABLE_INSTALLATION})
set(_DISABLE_INSTALLATION TRUE)
-add_subdirectory(external/FAudio)
+find_package(FAudio)
set(_DISABLE_INSTALLATION ${_DISABLE_INSTALLATION_OLD})
list(APPEND KRKRSDL2_LIBS
FAudio
@@ -494,7 +515,7 @@
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.13.0")
target_link_options(${KRKRSDL2_NAME} PUBLIC ${KRKRSDL2_LDFLAGS})
endif()
-target_link_libraries(${KRKRSDL2_NAME} ${KRKRSDL2_LIBS})
+target_link_libraries(${KRKRSDL2_NAME} PUBLIC ${KRKRSDL2_LIBS})
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.16.0")
if(KRKRSDL2_ENABLE_PRECOMPILED_HEADERS)
target_precompile_headers(${KRKRSDL2_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src/core/sdl2/SDLPrecompiledHeader.h)
@@ -606,7 +627,7 @@
endif()
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
-install(TARGETS ${KRKRSDL2_NAME} DESTINATION bin)
+install(TARGETS ${KRKRSDL2_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
endif()
if(${CMAKE_SYSTEM_NAME} STREQUAL "Emscripten")