From 0f17ab09c438b74e5ff08f75abd9aac4d65bed89 Mon Sep 17 00:00:00 2001 From: Blitblank Date: Sun, 8 Feb 2026 14:30:03 -0600 Subject: [PATCH] consolidate linux install script --- CMakeLists.txt | 1 + scripts/build.ps1 | 2 +- scripts/build.sh | 20 ++++++++++++++++++++ tests/.gitkeep | 0 4 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 tests/.gitkeep diff --git a/CMakeLists.txt b/CMakeLists.txt index a9b0de0..08d9ace 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -107,4 +107,5 @@ target_link_libraries(metabolus RtMidi::rtmidi yaml-cpp Qt6::Widgets + atomic ) diff --git a/scripts/build.ps1 b/scripts/build.ps1 index f0102f0..3845fcd 100644 --- a/scripts/build.ps1 +++ b/scripts/build.ps1 @@ -26,7 +26,6 @@ if (-not (Test-Path -Path $BUILD_DIR)) { } # detect dependencies - $libraries = @("rtaudio", "rtmidi", "yaml-cpp") $dependencies_found = 0 foreach ($lib in $libraries) { @@ -38,6 +37,7 @@ foreach ($lib in $libraries) { } } +# run the install script if dependencies not found if (-not ($dependencies_found -eq $libraries.Count)) { & "scripts\install_dependencies.ps1" } else { diff --git a/scripts/build.sh b/scripts/build.sh index 2df08c2..1a99499 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -8,6 +8,26 @@ RTAUDIO_ROOT=${LIB_ROOT}/rtaudio RTMIDI_ROOT=${LIB_ROOT}/rtmidi YAMLCPP_ROOT=${LIB_ROOT}/yaml-cpp +# detect dependencies +libraries=("rtaudio" "rtmidi" "yaml-cpp") +dependencies_found=0 + +for lib in "${libraries[@]}"; do + if [[ -e "./build/lib/$lib" ]]; then + echo "found $lib" + ((dependencies_found++)) + else + echo "did not find $lib" + fi +done + +# run the install script if dependencies not found +if [[ "$dependencies_found" -ne "${#libraries[@]}" ]]; then + ./scripts/install_dependencies.sh +else + echo "All dependencies detected, skipping dependency install step..." +fi + cmake -S . -B ${BUILD_DIR} -G Ninja \ -DRtAudio_DIR="${RTAUDIO_ROOT}/share/rtaudio" \ -DRtMidi_DIR="${RTMIDI_ROOT}/share/rtmidi" \ diff --git a/tests/.gitkeep b/tests/.gitkeep new file mode 100644 index 0000000..e69de29