mirror of
https://github.com/got-feedBack/feedBack-desktop.git
synced 2026-08-17 22:12:30 +00:00
Clean release snapshot
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
project(slopsmith_audio VERSION 0.1.0)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
# cmake-js integration
|
||||
if(DEFINED CMAKE_JS_INC)
|
||||
message(STATUS "Building as Node.js native addon (cmake-js)")
|
||||
else()
|
||||
message(WARNING "CMAKE_JS_INC not defined — building standalone (for testing only)")
|
||||
endif()
|
||||
|
||||
# JUCE — add as subdirectory (submodule)
|
||||
if(EXISTS "${CMAKE_SOURCE_DIR}/JUCE/CMakeLists.txt")
|
||||
add_subdirectory(JUCE)
|
||||
else()
|
||||
message(FATAL_ERROR "JUCE submodule not found. Run: git submodule update --init --recursive")
|
||||
endif()
|
||||
|
||||
# NAM Core (Neural Amp Modeler)
|
||||
set(NAM_DIR "${CMAKE_SOURCE_DIR}/src/audio/third_party/NAM")
|
||||
if(EXISTS "${NAM_DIR}/CMakeLists.txt")
|
||||
set(NAM_AVAILABLE ON)
|
||||
# NAM uses its own build system — we'll include its source directly
|
||||
message(STATUS "NeuralAmpModelerCore found")
|
||||
else()
|
||||
set(NAM_AVAILABLE OFF)
|
||||
message(STATUS "NeuralAmpModelerCore not found — NAM support disabled")
|
||||
endif()
|
||||
|
||||
# RTNeural
|
||||
set(RTNEURAL_DIR "${CMAKE_SOURCE_DIR}/src/audio/third_party/RTNeural")
|
||||
if(EXISTS "${RTNEURAL_DIR}/CMakeLists.txt")
|
||||
set(RTNEURAL_AVAILABLE ON)
|
||||
set(RTNEURAL_XSIMD ON CACHE BOOL "Use XSIMD backend for RTNeural")
|
||||
add_subdirectory("${RTNEURAL_DIR}" rtneural_build EXCLUDE_FROM_ALL)
|
||||
message(STATUS "RTNeural found")
|
||||
else()
|
||||
set(RTNEURAL_AVAILABLE OFF)
|
||||
message(STATUS "RTNeural not found")
|
||||
endif()
|
||||
|
||||
# ONNX Runtime — for the Basic Pitch ML note detector (MlNoteDetector).
|
||||
# Sets ONNXRUNTIME_AVAILABLE; build still succeeds (YIN fallback) if it can't
|
||||
# be obtained. See cmake/onnxruntime.cmake.
|
||||
include("${CMAKE_SOURCE_DIR}/cmake/onnxruntime.cmake")
|
||||
|
||||
add_subdirectory(src/audio)
|
||||
|
||||
# Out-of-process VST helpers (slopsmith-vst-host on all platforms now that the
|
||||
# POSIX sandbox runtime exists; macOS also builds the slopsmith-vst-scan probe).
|
||||
add_subdirectory(src/vst-host)
|
||||
|
||||
# Tests (cross-platform; gated on SLOPSMITH_BUILD_TESTS, default ON). The
|
||||
# audio-ring loopback runs everywhere; the control-channel + posix_spawn smoke
|
||||
# tests are POSIX-only (see tests/sandbox/CMakeLists.txt). enable_testing() must
|
||||
# be at the top level so `ctest` from the root build directory discovers tests
|
||||
# registered via add_test() in subdirectories.
|
||||
if(EXISTS "${CMAKE_SOURCE_DIR}/tests/CMakeLists.txt")
|
||||
enable_testing()
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
Reference in New Issue
Block a user