From 092fafa4d820c45e3f05b59b7be75807ef3eefe8 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Fri, 20 Mar 2026 18:53:39 +0100
Subject: [PATCH] cmake: install minimum set of Find CMake module for
dependencies
---
CMakeLists.txt | 27 ++++++++++++++-------------
1 file changed, 14 insertions(+), 13 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1926d71d..721cdae8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -336,6 +336,7 @@ if(SDLMIXER_BUILD_SHARED_LIBS)
endif()
set(INSTALL_EXTRA_TARGETS)
+set(INSTALL_EXTRA_CMAKE_MODULES)
set(PC_LIBS)
set(PC_REQUIRES)
set(SDLMIXER_BACKENDS)
@@ -410,6 +411,7 @@ if(SDLMIXER_OPUS)
message(STATUS "Using system opusfile")
if(NOT SDLMIXER_OPUS_SHARED)
list(APPEND PC_REQUIRES opusfile)
+ list(APPEND INSTALL_EXTRA_CMAKE_MODULES cmake/FindOgg.cmake cmake/FindOpus.cmake cmake/FindOpusFile.cmake)
endif()
else()
message(${fatal_error} "opusfile NOT found")
@@ -483,6 +485,7 @@ if(SDLMIXER_VORBIS_TREMOR)
if(tremor_FOUND)
if(NOT SDLMIXER_VORBIS_TREMOR_SHARED)
list(APPEND PC_REQUIRES vorbisidec)
+ list(APPEND INSTALL_EXTRA_CMAKE_MODULES cmake/Findtremor.cmake)
endif()
set(SDLMIXER_VORBIS_TREMOR_ENABLED TRUE)
else()
@@ -533,6 +536,7 @@ if(SDLMIXER_VORBIS_VORBISFILE)
endif()
if(NOT SDLMIXER_VORBIS_VORBISFILE_SHARED)
list(APPEND PC_LIBS -l$<TARGET_FILE_BASE_NAME:vorbisfile>)
+ list(APPEND INSTALL_EXTRA_CMAKE_MODULES cmake/FindVorbis.cmake)
endif()
elseif(SDLMIXER_VORBIS_VORBISFILE_SHARED AND DEFINED SDLMIXER_DYNAMIC_VORBIS_VORBISFILE AND EXISTS "${SDLMIXER_DYNAMIC_VORBIS_VORBISFILE}")
message(STATUS "${PROJECT_NAME}: Using vorbisfile from CMake variable")
@@ -602,6 +606,7 @@ if(SDLMIXER_FLAC_LIBFLAC)
endif()
if(NOT SDLMIXER_FLAC_LIBFLAC_SHARED)
list(APPEND PC_LIBS -l$<TARGET_FILE_BASE_NAME:FLAC::FLAC> -l$<TARGET_FILE_BASE_NAME:ogg>)
+ list(APPEND INSTALL_EXTRA_CMAKE_MODULES cmake/FindFLAC.cmake)
endif()
elseif(SDLMIXER_FLAC_LIBFLAC_SHARED AND DEFINED SDLMIXER_DYNAMIC_FLAC_LIBFLAC AND EXISTS "${SDLMIXER_DYNAMIC_FLAC_LIBFLAC}")
message(STATUS "${PROJECT_NAME}: Using libflac from CMake variable")
@@ -686,6 +691,7 @@ if(SDLMIXER_GME)
endif()
if(NOT SDLMIXER_GME_SHARED)
list(APPEND PC_LIBS -l$<TARGET_FILE_BASE_NAME:gme>)
+ list(APPEND INSTALL_EXTRA_CMAKE_MODULES cmake/Findwavpack.cmake)
endif()
elseif(SDLMIXER_GME_SHARED AND DEFINED SDLMIXER_DYNAMIC_GME AND EXISTS "${SDLMIXER_DYNAMIC_GME}")
message(STATUS "${PROJECT_NAME}: Using libgme from CMake variable")
@@ -697,6 +703,7 @@ if(SDLMIXER_GME)
message(STATUS "Using system libgme")
if(NOT SDLMIXER_GME_SHARED)
list(APPEND PC_REQUIRES libgme)
+ list(APPEND INSTALL_EXTRA_CMAKE_MODULES cmake/Findgme.cmake)
endif()
else()
message(${fatal_error} "libgme NOT found")
@@ -750,6 +757,7 @@ if(SDLMIXER_MOD_XMP)
endif()
if(NOT SDLMIXER_MOD_XMP_SHARED)
list(APPEND PC_LIBS -l$<TARGET_FILE_BASE_NAME:${tgt_xmp}>)
+ list(APPEND INSTALL_EXTRA_CMAKE_MODULES cmake/Findlibxmp.cmake)
endif()
else()
if(SDLMIXER_MOD_XMP_LITE)
@@ -761,6 +769,7 @@ if(SDLMIXER_MOD_XMP)
set(xmp_name libxmp-lite)
if(NOT SDLMIXER_MOD_XMP_SHARED)
list(APPEND PC_REQUIRES libxmp-lite)
+ list(APPEND INSTALL_EXTRA_CMAKE_MODULES cmake/Findlibxmp-lite.cmake)
endif()
else()
message(${fatal_error} "libxmp-lite NOT found")
@@ -845,6 +854,7 @@ if(SDLMIXER_MP3_MPG123)
endif()
if(NOT SDLMIXER_MP3_MPG123_SHARED)
list(APPEND PC_LIBS -l$<TARGET_FILE_BASE_NAME:MPG123::mpg123>)
+ list(APPEND INSTALL_EXTRA_CMAKE_MODULES cmake/Findmpg123.cmake)
endif()
elseif(SDLMIXER_MP3_MPG123_SHARED AND DEFINED SDLMIXER_DYNAMIC_MP3_MPG123 AND EXISTS "${SDLMIXER_DYNAMIC_MP3_MPG123}")
message(STATUS "${PROJECT_NAME}: Using mpg123 from CMake variable")
@@ -905,6 +915,7 @@ if(SDLMIXER_MIDI_FLUIDSYNTH)
message(STATUS "Using system FluidSynth")
if(NOT SDLMIXER_MIDI_FLUIDSYNTH_SHARED)
list(APPEND PC_REQUIRES fluidsynth)
+ list(APPEND INSTALL_EXTRA_CMAKE_MODULES cmake/FindFluidSynth.cmake)
endif()
else()
message(${fatal_error} "FluidSynth NOT found")
@@ -1002,6 +1013,7 @@ if(SDLMIXER_WAVPACK)
endif()
if(NOT SDLMIXER_WAVPACK_SHARED)
list(APPEND PC_LIBS -l$<TARGET_FILE_BASE_NAME:WavPack::WavPack>)
+ list(APPEND INSTALL_EXTRA_CMAKE_MODULES cmake/Findwavpack.cmake)
endif()
target_compile_definitions(${sdl3_mixer_target_name} PRIVATE HAVE_WAVPACK_H)
elseif(SDLMIXER_WAVPACK_SHARED AND DEFINED SDLMIXER_DYNAMIC_WAVPACK AND EXISTS "${SDLMIXER_DYNAMIC_WAVPACK}")
@@ -1111,22 +1123,11 @@ if(SDLMIXER_INSTALL)
DESTINATION "${SDLMIXER_INSTALL_CMAKEDIR}"
COMPONENT devel
)
- if(NOT SDLMIXER_VENDORED)
+ if(INSTALL_EXTRA_CMAKE_MODULES)
install(
FILES
+ ${INSTALL_EXTRA_CMAKE_MODULES}
cmake/PkgConfigHelper.cmake
- cmake/FindFLAC.cmake
- cmake/FindFluidSynth.cmake
- cmake/Findgme.cmake
- cmake/Findlibxmp.cmake
- cmake/Findlibxmp-lite.cmake
- cmake/FindOgg.cmake
- cmake/FindOpus.cmake
- cmake/FindOpusFile.cmake
- cmake/Findmpg123.cmake
- cmake/FindVorbis.cmake
- cmake/Findtremor.cmake
- cmake/Findwavpack.cmake
DESTINATION "${SDLMIXER_INSTALL_CMAKEDIR}"
COMPONENT devel
)