From ac8c9082832645b57ae3d7c285c23f3327a8cb2e Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sat, 19 Jul 2025 20:12:21 +0200 Subject: [PATCH 1/3] Don't force static libraries The default for creating libraries is static but can be overridden by setting BUILD_SHARED_LIBS variable. Setting it explicitly makes it impossible to override. https://cmake.org/cmake/help/latest/variable/BUILD_SHARED_LIBS.html Signed-off-by: Marcin Serwin --- CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 523fda15..b9a85442 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -459,7 +459,7 @@ endif() # Static Libraries -add_library(miniaudio STATIC +add_library(miniaudio miniaudio.c miniaudio.h ) @@ -482,7 +482,7 @@ if(HAS_LIBVORBIS) endif() if(HAS_LIBVORBIS) - add_library(miniaudio_libvorbis STATIC + add_library(miniaudio_libvorbis extras/decoders/libvorbis/miniaudio_libvorbis.c extras/decoders/libvorbis/miniaudio_libvorbis.h ) @@ -507,7 +507,7 @@ if(HAS_LIBOPUS) endif() if(HAS_LIBOPUS) - add_library(miniaudio_libopus STATIC + add_library(miniaudio_libopus extras/decoders/libopus/miniaudio_libopus.c extras/decoders/libopus/miniaudio_libopus.h ) @@ -524,7 +524,7 @@ endif() if (NOT MINIAUDIO_NO_EXTRA_NODES) function(add_extra_node name) - add_library(miniaudio_${name}_node STATIC + add_library(miniaudio_${name}_node extras/nodes/ma_${name}_node/ma_${name}_node.c extras/nodes/ma_${name}_node/ma_${name}_node.h ) From 140b9c7f9fb6a07469217e8db38abde0a0691c1e Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sun, 20 Jul 2025 17:03:50 +0200 Subject: [PATCH 2/3] Add compile define for specific backends only in CMake Fixes https://github.com/mackron/miniaudio/pull/1010#issuecomment-3093830252 Signed-off-by: Marcin Serwin --- CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index b9a85442..283522a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -156,6 +156,8 @@ if(MINIAUDIO_NO_NULL) list(APPEND COMPILE_DEFINES MA_NO_NULL) endif() if(MINIAUDIO_ENABLE_ONLY_SPECIFIC_BACKENDS) + list(APPEND COMPILE_DEFINES MA_ENABLE_ONLY_SPECIFIC_BACKENDS) + if(MINIAUDIO_ENABLE_WASAPI) list(APPEND COMPILE_DEFINES MA_ENABLE_WASAPI) endif() From 0b9f03a3762efcc007caa3cc6eefc3107c505b4a Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Mon, 21 Jul 2025 07:48:28 +0200 Subject: [PATCH 3/3] Respect CMAKE_INSTALL_INCLUDEDIR when installing headers Signed-off-by: Marcin Serwin --- CMakeLists.txt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 283522a8..2aa61ac8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -62,6 +62,7 @@ option(MINIAUDIO_USE_STDINT "Use for sized types" option(MINIAUDIO_DEBUG_OUTPUT "Enable stdout debug output" OFF) +include(GNUInstallDirs) # Construct compiler options. set(COMPILE_OPTIONS) @@ -467,7 +468,7 @@ add_library(miniaudio ) list(APPEND LIBS_TO_INSTALL miniaudio) -install(FILES miniaudio.h DESTINATION include/miniaudio) +install(FILES miniaudio.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/miniaudio) target_include_directories(miniaudio PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_compile_options (miniaudio PRIVATE ${COMPILE_OPTIONS}) @@ -490,7 +491,7 @@ if(HAS_LIBVORBIS) ) list(APPEND LIBS_TO_INSTALL miniaudio_libvorbis) - install(FILES extras/decoders/libvorbis/miniaudio_libvorbis.h DESTINATION include/miniaudio/extras/decoders/libvorbis) + install(FILES extras/decoders/libvorbis/miniaudio_libvorbis.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/miniaudio/extras/decoders/libvorbis) target_compile_options (miniaudio_libvorbis PRIVATE ${COMPILE_OPTIONS}) target_compile_definitions(miniaudio_libvorbis PRIVATE ${COMPILE_DEFINES}) @@ -516,7 +517,7 @@ if(HAS_LIBOPUS) list(APPEND LIBS_TO_INSTALL miniaudio_libopus) - install(FILES extras/decoders/libopus/miniaudio_libopus.h DESTINATION include/miniaudio/extras/decoders/libopus) + install(FILES extras/decoders/libopus/miniaudio_libopus.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/miniaudio/extras/decoders/libopus) target_compile_options (miniaudio_libopus PRIVATE ${COMPILE_OPTIONS}) target_compile_definitions(miniaudio_libopus PRIVATE ${COMPILE_DEFINES}) @@ -535,7 +536,7 @@ if (NOT MINIAUDIO_NO_EXTRA_NODES) list(APPEND libs miniaudio_${name}_node) set(LIBS_TO_INSTALL "${libs}" PARENT_SCOPE) # without PARENT_SCOPE, any changes are lost - install(FILES extras/nodes/ma_${name}_node/ma_${name}_node.h DESTINATION include/miniaudio/extras/nodes/ma_${name}_node) + install(FILES extras/nodes/ma_${name}_node/ma_${name}_node.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/miniaudio/extras/nodes/ma_${name}_node) target_include_directories(miniaudio_${name}_node PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/extras/nodes/ma_${name}_node) target_compile_options (miniaudio_${name}_node PRIVATE ${COMPILE_OPTIONS}) @@ -671,8 +672,6 @@ if (MINIAUDIO_BUILD_EXAMPLES) add_miniaudio_example(miniaudio_simple_spatialization simple_spatialization.c) endif() -include(GNUInstallDirs) - message(STATUS "Library list: ${LIBS_TO_INSTALL}") install(TARGETS ${LIBS_TO_INSTALL} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}