ok

On Sun, 15 Feb 2026 at 03:28, Brad Smith <[email protected]> wrote:

> Here is an update to OpenAL 1.25.1.
>
>
> openal-soft-1.25.1:
>
>     Fixed the OpenSL and JACK backends.
>
>     Fixed WASAPI and CoreAudio capture.
>
>     Fixed building the OSS backend with OSS v4.
>
>     Fixed a debug assertion with HRTF enabled.
>
>     Fixed an STL hardening assertion in the polyphase resampler with
> certain
>     resampling ratios.
>
>     Added a new stereo-encoding option for Tetraphonic Surround Matrix
>     Encoding.
>
> openal-soft-1.25.0:
>
>     Updated library codebase to C++20.
>
>     Fixed alcIsExtensionPresent to do a case-insensitive compare.
>
>     Fixed potential noise when switching reverbs.
>
>     Fixed reverb panning with certain output modes.
>
>     Fixed retrieving the alGetProcAddressDirect extension function.
>
>     Fixed negative source offsets with a callback buffer.
>
>     Fixed a memory issue that could occur in rare situations with looping
>     sources.
>
>     Fixed compiling for and running on older macOS versions.
>
>     Fixed using unicode in environment variable values on Windows.
>
>     Fixed memory alignment issues with 32-bit MinGW builds.
>
>     Fixed a crash in sofa-info with SOFA files that have null strings.
>
>     Updated alsoft-config to Qt6.
>
>     Added build options for STL hardening. Performant checks meant for
>     production are enabled by default.
>
>     Added support for fourth-order ambisonics.
>
>     Added support for CAF files to the Wave Writer backend.
>
>     Added optional support for C++20 modules. These are intended to be
> copied
>     into projects wishing to use them, since modules depend on being built
> with
>     compatible compile flags as the sources they're imported into.
>
>     Added a .note.dlopen section to ELF shared library builds to record
> dynamic
>     dependencies for build maintainers.
>
>     Converted the headers to XML files, which are used to generate the
> headers
>     (and modules) with a script. Other scripts can be made to generate
> bindings
>     for various other languages.
>
>     Changed AL_PANNING_ENABLED_SOFT to allow being toggled on playing
> sources.
>
>     Changed the default period size to 512 sample frames.
>
>     Changed the default Super Stereo width to 0.46.
>
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/audio/openal/Makefile,v
> retrieving revision 1.71
> diff -u -p -u -p -r1.71 Makefile
> --- Makefile    13 Feb 2026 12:02:13 -0000      1.71
> +++ Makefile    15 Feb 2026 03:19:24 -0000
> @@ -1,6 +1,6 @@
>  COMMENT =      cross-platform 3D audio API
>
> -V =            1.24.3
> +V =            1.25.1
>  DISTNAME =     openal-soft-$V
>  PKGNAME =      openal-$V
>  EPOCH =                0
> @@ -8,9 +8,9 @@ CATEGORIES =    audio
>
>  SHARED_LIBS =  openal  6.0
>
> -HOMEPAGE =     http://openal-soft.org/
> +HOMEPAGE =     https://openal-soft.org/
>
> -SITES =
> https://github.com/kcat/openal-soft/releases/download/$V/
> +SITES =                ${HOMEPAGE}openal-releases/
>  EXTRACT_SUFX = .tar.bz2
>
>  MAINTAINER =   David Carlier <[email protected]>
> @@ -18,9 +18,9 @@ MAINTAINER =  David Carlier <devnexen@gma
>  # LGPLv2+
>  PERMIT_PACKAGE =Yes
>
> -WANTLIB +=     c m mysofa pthread sndio z ${COMPILER_LIBCXX}
> +WANTLIB +=     c m mysofa pthread sndio ${COMPILER_LIBCXX}
>
> -LIB_DEPENDS += audio/libmysofa>=1.3.3
> +LIB_DEPENDS += audio/libmysofa
>
>  CONFIGURE_ARGS =-DALSOFT_BACKEND_PIPEWIRE=Off \
>                 -DALSOFT_BACKEND_WAVE=Off \
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/audio/openal/distinfo,v
> retrieving revision 1.18
> diff -u -p -u -p -r1.18 distinfo
> --- distinfo    18 Nov 2025 12:12:48 -0000      1.18
> +++ distinfo    15 Feb 2026 03:19:24 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (openal-soft-1.24.3.tar.bz2) =
> y15hl6HA2g7c8qgQJJU8yPqFRcO5R05IyFKvcJ1YeJI=
> -SIZE (openal-soft-1.24.3.tar.bz2) = 1025568
> +SHA256 (openal-soft-1.25.1.tar.bz2) =
> TCr/b4GXX0bsxRSNCSxJSMcdv7duS5ukvx/OKH9H1LU=
> +SIZE (openal-soft-1.25.1.tar.bz2) = 1119330
> Index: patches/patch-CMakeLists_txt
> ===================================================================
> RCS file: /cvs/ports/audio/openal/patches/patch-CMakeLists_txt,v
> retrieving revision 1.17
> diff -u -p -u -p -r1.17 patch-CMakeLists_txt
> --- patches/patch-CMakeLists_txt        18 Nov 2025 12:12:48 -0000
> 1.17
> +++ patches/patch-CMakeLists_txt        15 Feb 2026 03:19:24 -0000
> @@ -1,25 +1,7 @@
>  Index: CMakeLists.txt
>  --- CMakeLists.txt.orig
>  +++ CMakeLists.txt
> -@@ -165,7 +165,7 @@ add_subdirectory(fmt-11.1.1 EXCLUDE_FROM_ALL)
> - set(CPP_DEFS ) # C pre-processor, not C++
> - set(INC_PATHS )
> - set(C_FLAGS )
> --set(LINKER_FLAGS )
> -+set(LINKER_FLAGS
> $<$<AND:$<CXX_COMPILER_ID:GNU>,$<VERSION_LESS:$<CXX_COMPILER_VERSION>,9.0>>:stdc++fs>)
> - set(LINKER_FLAGS_DEBUG )
> - set(LINKER_FLAGS_RELEASE )
> - set(EXTRA_LIBS )
> -@@ -1402,7 +1402,7 @@ target_include_directories(alsoft.common PRIVATE
> ${Ope
> -     PUBLIC ${OpenAL_BINARY_DIR} ${OpenAL_SOURCE_DIR}/common)
> - target_compile_definitions(alsoft.common PRIVATE ${CPP_DEFS})
> - target_compile_options(alsoft.common PRIVATE ${C_FLAGS})
> --target_link_libraries(alsoft.common PRIVATE alsoft::fmt)
> -+target_link_libraries(alsoft.common PRIVATE ${LINKER_FLAGS} alsoft::fmt)
> - set_target_properties(alsoft.common PROPERTIES
> ${ALSOFT_STD_VERSION_PROPS}
> -     POSITION_INDEPENDENT_CODE TRUE)
> -
> -@@ -1676,7 +1676,7 @@ endif()
> +@@ -1883,7 +1883,7 @@ endif()
>
>   if(ALSOFT_INSTALL_CONFIG)
>       install(FILES alsoftrc.sample
> Index: patches/patch-al_auxeffectslot_cpp
> ===================================================================
> RCS file: patches/patch-al_auxeffectslot_cpp
> diff -N patches/patch-al_auxeffectslot_cpp
> --- patches/patch-al_auxeffectslot_cpp  18 Nov 2025 12:12:48 -0000      1.2
> +++ /dev/null   1 Jan 1970 00:00:00 -0000
> @@ -1,18 +0,0 @@
> -gcc8: error: expression '<throw-expression>' is not a constant expression
> -
> -Index: al/auxeffectslot.cpp
> ---- al/auxeffectslot.cpp.orig
> -+++ al/auxeffectslot.cpp
> -@@ -241,9 +241,10 @@ constexpr auto EffectSlotTypeFromEnum(ALenum type)
> noe
> -     case AL_EFFECT_DEDICATED_LOW_FREQUENCY_EFFECT: return
> EffectSlotType::Dedicated;
> -     case AL_EFFECT_DEDICATED_DIALOGUE: return EffectSlotType::Dedicated;
> -     case AL_EFFECT_CONVOLUTION_SOFT: return EffectSlotType::Convolution;
> -+    default:
> -+        ERR("Unhandled effect enum: {:#04x}", as_unsigned(type));
> -+        return EffectSlotType::None;
> -     }
> --    ERR("Unhandled effect enum: {:#04x}", as_unsigned(type));
> --    return EffectSlotType::None;
> - }
> -
> - [[nodiscard]]
> Index: patches/patch-al_buffer_cpp
> ===================================================================
> RCS file: patches/patch-al_buffer_cpp
> diff -N patches/patch-al_buffer_cpp
> --- patches/patch-al_buffer_cpp 29 Apr 2025 12:50:31 -0000      1.1
> +++ /dev/null   1 Jan 1970 00:00:00 -0000
> @@ -1,33 +0,0 @@
> -gcc8: error: expression '<throw-expression>' is not a constant expression
> -
> -Index: al/buffer.cpp
> ---- al/buffer.cpp.orig
> -+++ al/buffer.cpp
> -@@ -87,9 +87,10 @@ constexpr auto EnumFromAmbiLayout(AmbiLayout layout) -
> -     {
> -     case AmbiLayout::FuMa: return AL_FUMA_SOFT;
> -     case AmbiLayout::ACN: return AL_ACN_SOFT;
> -+    default:
> -+        throw std::runtime_error{fmt::format("Invalid AmbiLayout: {}",
> -+            int{al::to_underlying(layout)})};
> -     }
> --    throw std::runtime_error{fmt::format("Invalid AmbiLayout: {}",
> --        int{al::to_underlying(layout)})};
> - }
> -
> - constexpr auto AmbiScalingFromEnum(ALenum scale) noexcept ->
> std::optional<AmbiScaling>
> -@@ -109,10 +110,11 @@ constexpr auto EnumFromAmbiScaling(AmbiScaling
> scale)
> -     case AmbiScaling::FuMa: return AL_FUMA_SOFT;
> -     case AmbiScaling::SN3D: return AL_SN3D_SOFT;
> -     case AmbiScaling::N3D: return AL_N3D_SOFT;
> --    case AmbiScaling::UHJ: break;
> -+    case AmbiScaling::UHJ:
> -+    default:
> -+        throw std::runtime_error{fmt::format("Invalid AmbiScaling: {}",
> -+            int{al::to_underlying(scale)})};
> -     }
> --    throw std::runtime_error{fmt::format("Invalid AmbiScaling: {}",
> --        int{al::to_underlying(scale)})};
> - }
> -
> - #if ALSOFT_EAX
> Index: patches/patch-al_debug_cpp
> ===================================================================
> RCS file: patches/patch-al_debug_cpp
> diff -N patches/patch-al_debug_cpp
> --- patches/patch-al_debug_cpp  29 Apr 2025 12:50:31 -0000      1.1
> +++ /dev/null   1 Jan 1970 00:00:00 -0000
> @@ -1,44 +0,0 @@
> -gcc8: error: expression '<throw-expression>' is not a constant expression
> -
> -Index: al/debug.cpp
> ---- al/debug.cpp.orig
> -+++ al/debug.cpp
> -@@ -109,9 +109,10 @@ constexpr auto GetDebugSourceEnum(DebugSource
> source)
> -     case DebugSource::ThirdParty: return AL_DEBUG_SOURCE_THIRD_PARTY_EXT;
> -     case DebugSource::Application: return
> AL_DEBUG_SOURCE_APPLICATION_EXT;
> -     case DebugSource::Other: return AL_DEBUG_SOURCE_OTHER_EXT;
> -+    default:
> -+        throw std::runtime_error{fmt::format("Unexpected debug source
> value: {}",
> -+            int{al::to_underlying(source)})};
> -     }
> --    throw std::runtime_error{fmt::format("Unexpected debug source value:
> {}",
> --        int{al::to_underlying(source)})};
> - }
> -
> - constexpr auto GetDebugTypeEnum(DebugType type) -> ALenum
> -@@ -127,9 +128,10 @@ constexpr auto GetDebugTypeEnum(DebugType type) ->
> ALe
> -     case DebugType::PushGroup: return AL_DEBUG_TYPE_PUSH_GROUP_EXT;
> -     case DebugType::PopGroup: return AL_DEBUG_TYPE_POP_GROUP_EXT;
> -     case DebugType::Other: return AL_DEBUG_TYPE_OTHER_EXT;
> -+    default:
> -+        throw std::runtime_error{fmt::format("Unexpected debug type
> value: {}",
> -+            int{al::to_underlying(type)})};
> -     }
> --    throw std::runtime_error{fmt::format("Unexpected debug type value:
> {}",
> --        int{al::to_underlying(type)})};
> - }
> -
> - constexpr auto GetDebugSeverityEnum(DebugSeverity severity) -> ALenum
> -@@ -140,9 +142,10 @@ constexpr auto GetDebugSeverityEnum(DebugSeverity
> seve
> -     case DebugSeverity::Medium: return AL_DEBUG_SEVERITY_MEDIUM_EXT;
> -     case DebugSeverity::Low: return AL_DEBUG_SEVERITY_LOW_EXT;
> -     case DebugSeverity::Notification: return
> AL_DEBUG_SEVERITY_NOTIFICATION_EXT;
> -+    default:
> -+        throw std::runtime_error{fmt::format("Unexpected debug severity
> value: {}",
> -+            int{al::to_underlying(severity)})};
> -     }
> --    throw std::runtime_error{fmt::format("Unexpected debug severity
> value: {}",
> --        int{al::to_underlying(severity)})};
> - }
> -
> -
> Index: patches/patch-al_effects_chorus_cpp
> ===================================================================
> RCS file: patches/patch-al_effects_chorus_cpp
> diff -N patches/patch-al_effects_chorus_cpp
> --- patches/patch-al_effects_chorus_cpp 18 Nov 2025 12:12:48 -0000      1.2
> +++ /dev/null   1 Jan 1970 00:00:00 -0000
> @@ -1,18 +0,0 @@
> -gcc8: error: expression '<throw-expression>' is not a constant expression
> -
> -Index: al/effects/chorus.cpp
> ---- al/effects/chorus.cpp.orig
> -+++ al/effects/chorus.cpp
> -@@ -43,9 +43,10 @@ constexpr ALenum EnumFromWaveform(ChorusWaveform type)
> -     {
> -     case ChorusWaveform::Sinusoid: return AL_CHORUS_WAVEFORM_SINUSOID;
> -     case ChorusWaveform::Triangle: return AL_CHORUS_WAVEFORM_TRIANGLE;
> -+    default:
> -+        throw std::runtime_error{fmt::format("Invalid chorus waveform:
> {}",
> -+            int{al::to_underlying(type)})};
> -     }
> --    throw std::runtime_error{fmt::format("Invalid chorus waveform: {}",
> --        int{al::to_underlying(type)})};
> - }
> -
> - constexpr EffectProps genDefaultChorusProps() noexcept
> Index: patches/patch-al_effects_fshifter_cpp
> ===================================================================
> RCS file: patches/patch-al_effects_fshifter_cpp
> diff -N patches/patch-al_effects_fshifter_cpp
> --- patches/patch-al_effects_fshifter_cpp       29 Apr 2025 12:50:31
> -0000      1.1
> +++ /dev/null   1 Jan 1970 00:00:00 -0000
> @@ -1,16 +0,0 @@
> -gcc8: error: expression '<throw-expression>' is not a constant expression
> -
> -Index: al/effects/fshifter.cpp
> ---- al/effects/fshifter.cpp.orig
> -+++ al/effects/fshifter.cpp
> -@@ -39,8 +39,9 @@ constexpr ALenum EnumFromDirection(FShifterDirection d
> -     case FShifterDirection::Down: return
> AL_FREQUENCY_SHIFTER_DIRECTION_DOWN;
> -     case FShifterDirection::Up: return AL_FREQUENCY_SHIFTER_DIRECTION_UP;
> -     case FShifterDirection::Off: return
> AL_FREQUENCY_SHIFTER_DIRECTION_OFF;
> -+    default:
> -+        throw std::runtime_error{fmt::format("Invalid direction: {}",
> int{al::to_underlying(dir)})};
> -     }
> --    throw std::runtime_error{fmt::format("Invalid direction: {}",
> int{al::to_underlying(dir)})};
> - }
> -
> - constexpr EffectProps genDefaultProps() noexcept
> Index: patches/patch-al_effects_modulator_cpp
> ===================================================================
> RCS file: patches/patch-al_effects_modulator_cpp
> diff -N patches/patch-al_effects_modulator_cpp
> --- patches/patch-al_effects_modulator_cpp      29 Apr 2025 12:50:31
> -0000      1.1
> +++ /dev/null   1 Jan 1970 00:00:00 -0000
> @@ -1,18 +0,0 @@
> -gcc8: error: expression '<throw-expression>' is not a constant expression
> -
> -Index: al/effects/modulator.cpp
> ---- al/effects/modulator.cpp.orig
> -+++ al/effects/modulator.cpp
> -@@ -39,9 +39,10 @@ constexpr ALenum EnumFromWaveform(ModulatorWaveform ty
> -     case ModulatorWaveform::Sinusoid: return AL_RING_MODULATOR_SINUSOID;
> -     case ModulatorWaveform::Sawtooth: return AL_RING_MODULATOR_SAWTOOTH;
> -     case ModulatorWaveform::Square: return AL_RING_MODULATOR_SQUARE;
> -+    default:
> -+        throw std::runtime_error{fmt::format("Invalid modulator
> waveform: {}",
> -+            int{al::to_underlying(type)})};
> -     }
> --    throw std::runtime_error{fmt::format("Invalid modulator waveform:
> {}",
> --        int{al::to_underlying(type)})};
> - }
> -
> - constexpr EffectProps genDefaultProps() noexcept
> Index: patches/patch-al_effects_vmorpher_cpp
> ===================================================================
> RCS file: patches/patch-al_effects_vmorpher_cpp
> diff -N patches/patch-al_effects_vmorpher_cpp
> --- patches/patch-al_effects_vmorpher_cpp       29 Apr 2025 12:50:31
> -0000      1.1
> +++ /dev/null   1 Jan 1970 00:00:00 -0000
> @@ -1,29 +0,0 @@
> -gcc8: error: expression '<throw-expression>' is not a constant expression
> -
> -Index: al/effects/vmorpher.cpp
> ---- al/effects/vmorpher.cpp.orig
> -+++ al/effects/vmorpher.cpp
> -@@ -96,8 +96,9 @@ constexpr ALenum EnumFromPhenome(VMorpherPhenome pheno
> -     HANDLE_PHENOME(T);
> -     HANDLE_PHENOME(V);
> -     HANDLE_PHENOME(Z);
> -+    default:
> -+        throw std::runtime_error{fmt::format("Invalid phenome: {}",
> int{al::to_underlying(phenome)})};
> -     }
> --    throw std::runtime_error{fmt::format("Invalid phenome: {}",
> int{al::to_underlying(phenome)})};
> - #undef HANDLE_PHENOME
> - }
> -
> -@@ -118,9 +119,10 @@ constexpr ALenum EnumFromWaveform(VMorpherWaveform
> typ
> -     case VMorpherWaveform::Sinusoid: return
> AL_VOCAL_MORPHER_WAVEFORM_SINUSOID;
> -     case VMorpherWaveform::Triangle: return
> AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE;
> -     case VMorpherWaveform::Sawtooth: return
> AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH;
> -+    default:
> -+        throw std::runtime_error{fmt::format("Invalid vocal morpher
> waveform: {}",
> -+            int{al::to_underlying(type)})};
> -     }
> --    throw std::runtime_error{fmt::format("Invalid vocal morpher
> waveform: {}",
> --        int{al::to_underlying(type)})};
> - }
> -
> - constexpr EffectProps genDefaultProps() noexcept
> Index: patches/patch-al_state_cpp
> ===================================================================
> RCS file: patches/patch-al_state_cpp
> diff -N patches/patch-al_state_cpp
> --- patches/patch-al_state_cpp  18 Nov 2025 12:12:48 -0000      1.2
> +++ /dev/null   1 Jan 1970 00:00:00 -0000
> @@ -1,16 +0,0 @@
> -gcc8: error: expression '<throw-expression>' is not a constant expression
> -
> -Index: al/state.cpp
> ---- al/state.cpp.orig
> -+++ al/state.cpp
> -@@ -146,8 +146,9 @@ constexpr auto ALenumFromDistanceModel(DistanceModel m
> -     case DistanceModel::LinearClamped: return AL_LINEAR_DISTANCE_CLAMPED;
> -     case DistanceModel::Exponent: return AL_EXPONENT_DISTANCE;
> -     case DistanceModel::ExponentClamped: return
> AL_EXPONENT_DISTANCE_CLAMPED;
> -+    default:
> -+        throw std::runtime_error{"Unexpected distance model
> "+std::to_string(static_cast<int>(model))};
> -     }
> --    throw std::runtime_error{"Unexpected distance model
> "+std::to_string(static_cast<int>(model))};
> - }
> -
> - enum PropertyValue : ALenum {
> Index: patches/patch-alc_alconfig_cpp
> ===================================================================
> RCS file: /cvs/ports/audio/openal/patches/patch-alc_alconfig_cpp,v
> retrieving revision 1.6
> diff -u -p -u -p -r1.6 patch-alc_alconfig_cpp
> --- patches/patch-alc_alconfig_cpp      29 Jan 2025 10:59:26 -0000      1.6
> +++ patches/patch-alc_alconfig_cpp      15 Feb 2026 03:19:24 -0000
> @@ -1,12 +1,12 @@
>  Index: alc/alconfig.cpp
>  --- alc/alconfig.cpp.orig
>  +++ alc/alconfig.cpp
> -@@ -381,7 +381,7 @@ void ReadALConfig()
> +@@ -426,7 +426,7 @@ void ReadALConfig()
>
>   void ReadALConfig()
>   {
> --    fs::path path{"/etc/openal/alsoft.conf"};
> -+    fs::path path{"${SYSCONFDIR}/openal/alsoft.conf"};
> +-    auto path = fs::path{"/etc/openal/alsoft.conf"};
> ++    auto path = fs::path{"${SYSCONFDIR}/openal/alsoft.conf"};
>
>       TRACE("Loading config {}...", al::u8_as_char(path.u8string()));
> -     if(fs::ifstream f{path}; f.is_open())
> +     if(auto f = fs::ifstream{path}; f.is_open())
> Index: patches/patch-alc_effects_reverb_cpp
> ===================================================================
> RCS file: patches/patch-alc_effects_reverb_cpp
> diff -N patches/patch-alc_effects_reverb_cpp
> --- patches/patch-alc_effects_reverb_cpp        29 Apr 2025 12:50:31
> -0000      1.1
> +++ /dev/null   1 Jan 1970 00:00:00 -0000
> @@ -1,16 +0,0 @@
> -gcc8 is too old for std::reduce
> -
> -Index: alc/effects/reverb.cpp
> ---- alc/effects/reverb.cpp.orig
> -+++ alc/effects/reverb.cpp
> -@@ -931,8 +931,8 @@ void EarlyReflections::updateLines(const float density
> -     /* Calculate the gain (coefficient) for the secondary reflections
> based on
> -      * the average delay and decay time.
> -      */
> --    const auto length = std::reduce(EARLY_LINE_LENGTHS.begin(),
> EARLY_LINE_LENGTHS.end(), 0.0f)
> --        / float{EARLY_LINE_LENGTHS.size()} * density_mult;
> -+    const auto length = std::accumulate(EARLY_LINE_LENGTHS.begin(),
> EARLY_LINE_LENGTHS.end(), 0.0f)
> -+        / static_cast<float>(EARLY_LINE_LENGTHS.size()) * density_mult;
> -     Coeff = CalcDecayCoeff(length, decayTime);
> -
> - }
> Index: patches/patch-fmt-11_1_1_CMakeLists_txt
> ===================================================================
> RCS file: patches/patch-fmt-11_1_1_CMakeLists_txt
> diff -N patches/patch-fmt-11_1_1_CMakeLists_txt
> --- patches/patch-fmt-11_1_1_CMakeLists_txt     29 Apr 2025 12:50:31
> -0000      1.1
> +++ /dev/null   1 Jan 1970 00:00:00 -0000
> @@ -1,14 +0,0 @@
> -gcc8: undefined reference to
> `std::filesystem::__cxx11::path::_M_split_cmpts()'
> -
> -Index: fmt-11.1.1/CMakeLists.txt
> ---- fmt-11.1.1/CMakeLists.txt.orig
> -+++ fmt-11.1.1/CMakeLists.txt
> -@@ -61,6 +61,8 @@ set(FMT_SOURCES src/format.cc src/os.cc)
> - add_library(alsoft.fmt OBJECT ${FMT_SOURCES} ${FMT_HEADERS} README.md
> ChangeLog.md)
> - add_library(alsoft::fmt ALIAS alsoft.fmt)
> -
> -+target_link_libraries(alsoft.fmt PRIVATE
> $<$<AND:$<CXX_COMPILER_ID:GNU>,$<VERSION_LESS:$<CXX_COMPILER_VERSION>,9.0>>:stdc++fs>)
> -+
> - if (cxx_std_11 IN_LIST CMAKE_CXX_COMPILE_FEATURES)
> -   target_compile_features(alsoft.fmt PUBLIC cxx_std_11)
> - else ()
>

Reply via email to