Cleanup root cmakelists
Some checks failed
Build Linux Binaries / linux/amd64 (push) Has been cancelled
Build Linux Binaries / linux/arm64 (push) Has been cancelled

This commit is contained in:
2026-07-03 15:59:12 +01:00
parent f687370e47
commit 575e2907d0

View File

@@ -1,4 +1,4 @@
# libvoicecat — the shared C++ core (docs/architecture.md).
# libvoicecat — the shared C++ core
# Sources are globbed so adding a stub under src/<subsystem>/ needs no CMake edit.
file(GLOB_RECURSE VOICECAT_SOURCES CONFIGURE_DEPENDS
"${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp")
@@ -6,7 +6,7 @@ file(GLOB_RECURSE VOICECAT_SOURCES CONFIGURE_DEPENDS
if(VOICECAT_BUILD_SHARED)
add_library(voicecat SHARED ${VOICECAT_SOURCES})
if(WIN32 AND MINGW)
# The C# client only ships voicecat.dll itself no MinGW runtime DLLs alongside
# The C# client only ships voicecat.dll itself, no MinGW runtime DLLs alongside
# it. x64-mingw-static only statically links vcpkg's OWN library deps (protobuf,
# sodium, mbedTLS, ...); the GCC/MinGW runtime stays dynamic by default
# (libgcc_s_seh-1.dll/libwinpthread-1.dll/libstdc++-6.dll — confirmed via `objdump -p`
@@ -74,8 +74,8 @@ find_package(protobuf CONFIG REQUIRED)
target_compile_definitions(voicecat PUBLIC VOICECAT_HAS_OPUS VOICECAT_HAS_AUDIO)
# ── RNNoise vendored noise-suppression DSP (third_party/rnnoise, BSD-3 + CC0). ──────────
# The real backend behind ApmProcessor (docs/voice.md §10-11). Built as a standalone C
# ── RNNoise vendored noise-suppression DSP (third_party/rnnoise, BSD-3 + CC0). ──────────
# The real backend behind ApmProcessor . Built as a standalone C
# static lib with NO run-time CPU dispatch (RTCD off): portable scalar path on x86,
# auto-NEON on arm64. -DDISABLE_DEBUG_FLOAT selects the int8-quantized weights that match our
# shrunk model (third_party/README.md). The vcpkg port is !windows !arm, so we vendor it.
@@ -106,7 +106,7 @@ find_package(protobuf CONFIG REQUIRED)
target_link_libraries(voicecat PRIVATE rnnoise)
target_compile_definitions(voicecat PRIVATE VOICECAT_HAS_NS)
# On iOS, miniaudio's AVFoundation backend includes Objective-C headers (AVFoundation.h
# On iOS, miniaudio's AVFoundation backend includes Objective-C headers (AVFoundation.h
# Foundation.h). Compiling those as plain C++ fails; setting LANGUAGE OBJCXX for
# audio_engine.cpp (the only file that includes miniaudio.h directly) fixes this.
if(CMAKE_SYSTEM_NAME STREQUAL "iOS")
@@ -119,12 +119,8 @@ find_package(protobuf CONFIG REQUIRED)
if(WIN32)
# AcceptEx / GetAcceptExSockaddrs live in mswsock; ws2_32 covers the base Winsock API.
target_link_libraries(voicecat PRIVATE ws2_32 mswsock)
# Real desktop-audio loopback capture for SCREEN_AUDIO (miniaudio's ma_device_type_loopback
# is WASAPI-only). Other platforms keep vc_test_inject_capture as the only way to feed
# SCREEN_AUDIO until a per-platform loopback path is built (macOS: ScreenCaptureKit, per
# docs/voice.md §9 — not in scope yet).
target_compile_definitions(voicecat PUBLIC VOICECAT_HAS_LOOPBACK)
endif()
# Signal to C++ code that the real networking/crypto stack is available.
target_compile_definitions(voicecat PUBLIC VOICECAT_HAS_NET)