Skip to content

πŸ“œ INSTALLATION SCRIPTS - GUÍA

Scripts automatizados para instalar y verificar dependencias de AudioLab.


πŸ“¦ SCRIPTS DISPONIBLES

Script Plataformas Tiempo PropΓ³sito
install_all_dependencies.ps1/sh Win, Unix, macOS 15-30 min InstalaciΓ³n completa
install_core_deps.ps1 Windows 10-15 min Solo core (mΓ‘s rΓ‘pido)
install_vcpkg_simple.ps1 Windows 2-5 min Solo setup de vcpkg
verify_installation.ps1/sh Win, Unix, macOS 1-2 min Verificar instalados
list_installed.ps1 Windows < 1 min Listar packages
update_registry.ps1 Windows < 1 min Actualizar tracking
create_vcpkg_registry.ps1 Windows < 1 min Crear registry inicial

πŸš€ INSTALL_ALL_DEPENDENCIES

Uso

Windows:

.\install_all_dependencies.ps1 [-SkipVcpkg] [-SkipPython] [-Force]

Unix/macOS:

./install_all_dependencies.sh

Opciones (PowerShell)

-SkipVcpkg     # Omitir vcpkg packages
-SkipPython    # Omitir Python tools
-Force         # No pedir confirmaciones

QuΓ© Instala

1. vcpkg (si no existe):

git clone https://github.com/Microsoft/vcpkg.git external/vcpkg
cd external/vcpkg
./bootstrap-vcpkg.bat  # Windows
./bootstrap-vcpkg.sh   # Unix

2. vcpkg Packages (7): - fftw3 - eigen3 - libsndfile - catch2 - benchmark - fmt - spdlog

3. Python Tools (3): - black - pytest - sphinx

4. Actualiza Registry: Crea YAML files en _installed_registry/

Output Esperado

╔════════════════════════════════════════════╗
β•‘  πŸ“¦ AudioLab Dependency Installer          β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

πŸ” Checking prerequisites...
  βœ“ Git found
  βœ“ Python found
  βœ“ pip found

πŸ“¦ Installing vcpkg...
  Cloning vcpkg...
  βœ“ vcpkg cloned
  Bootstrapping vcpkg...
  βœ“ vcpkg bootstrapped

πŸ“¦ Installing vcpkg packages (7)...
  Installing fftw3...
  βœ“ fftw3 installed
  Installing eigen3...
  βœ“ eigen3 installed
  ... (5 more)

🐍 Installing Python tools (3)...
  Installing black...
  βœ“ black installed
  ... (2 more)

πŸ“‹ Updating registry...
  βœ“ Registry updated

╔════════════════════════════════════════════╗
β•‘  βœ… All dependencies installed             β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

⏱️  Total time: 18m 42s

πŸ’‘ Next steps:
   1. Verify: .\verify_installation.ps1
   2. Build:  cd ..\..\03_02_build_infrastructure\03_02_03_build_scripts
              .\build.ps1

Troubleshooting

Error: Git not found

# Instalar Git
winget install Git.Git

Error: Python not found

# Instalar Python
winget install Python.Python.3.11

Error: vcpkg install fails

# Ver logs detallados
./external/vcpkg/vcpkg install fftw3:x64-windows --debug


⚑ INSTALL_CORE_DEPS

Uso

.\install_core_deps.ps1

Diferencia con install_all

install_all_dependencies: Instala TODO (vcpkg + Python + JUCE setup) install_core_deps: Solo vcpkg packages esenciales (mΓ‘s rΓ‘pido)

QuΓ© Instala

Solo vcpkg packages: - fftw3 - eigen3 - libsndfile - catch2 - benchmark - fmt - spdlog

NO instala: - ❌ Python tools (black, pytest, sphinx) - ❌ JUCE setup (asume ya estÑ vendored)

CuΓ‘ndo Usar

  • βœ… Setup rΓ‘pido para compilar
  • βœ… CI/CD builds (Python ya instalado)
  • βœ… Rebuild despuΓ©s de clean

βœ… VERIFY_INSTALLATION

Uso

Windows:

.\verify_installation.ps1 [-Detailed]

Unix/macOS:

./verify_installation.sh

QuΓ© Verifica

1. vcpkg packages:

vcpkg list | Select-String "fftw3|eigen3|libsndfile|catch2|benchmark|fmt|spdlog"

2. Python tools:

pip list | Select-String "black|pytest|sphinx"

3. Registry consistency:

# Compara registry YAMLs con instalaciones reales

4. CMake integration:

# Test find_package() para cada library

Output Esperado

βœ… Todo OK:

╔════════════════════════════════════════════╗
β•‘  βœ… AudioLab Dependency Verification       β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

πŸ” Verifying vcpkg packages...
  βœ“ fftw3 3.3.10 - Installed
  βœ“ eigen3 3.4.1 - Installed
  βœ“ libsndfile 1.2.0 - Installed
  βœ“ catch2 3.4.0 - Installed
  βœ“ benchmark 1.8.3 - Installed
  βœ“ fmt 10.1.1 - Installed
  βœ“ spdlog 1.12.0 - Installed

πŸ” Verifying Python tools...
  βœ“ black 23.9.1 - Installed
  βœ“ pytest 7.4.2 - Installed
  βœ“ sphinx 7.2.6 - Installed

πŸ” Verifying registry...
  βœ“ Registry matches installations

πŸ” Verifying CMake integration...
  βœ“ All packages findable by CMake

╔════════════════════════════════════════════╗
β•‘  βœ… All dependencies verified              β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

❌ Con errores:

❌ fftw3 - NOT FOUND
πŸ’‘ Fix: vcpkg install fftw3:x64-windows

❌ Registry out of sync
πŸ’‘ Fix: .\update_registry.ps1


πŸ“‹ LIST_INSTALLED

Uso

.\list_installed.ps1 [-Format Table|JSON|YAML]

Output

Table (default):

╔════════════════════════════════════════════╗
β•‘  πŸ“¦ Installed Dependencies                 β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

VCPKG PACKAGES:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Package        β”‚ Version  β”‚ Triplet        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ fftw3          β”‚ 3.3.10   β”‚ x64-windows    β”‚
β”‚ eigen3         β”‚ 3.4.1    β”‚ x64-windows    β”‚
β”‚ libsndfile     β”‚ 1.2.0    β”‚ x64-windows    β”‚
β”‚ catch2         β”‚ 3.4.0    β”‚ x64-windows    β”‚
β”‚ benchmark      β”‚ 1.8.3    β”‚ x64-windows    β”‚
β”‚ fmt            β”‚ 10.1.1   β”‚ x64-windows    β”‚
β”‚ spdlog         β”‚ 1.12.0   β”‚ x64-windows    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

PYTHON TOOLS:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Tool           β”‚ Version  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ black          β”‚ 23.9.1   β”‚
β”‚ pytest         β”‚ 7.4.2    β”‚
β”‚ sphinx         β”‚ 7.2.6    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

VENDORED:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Library        β”‚ Version  β”‚ Size       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ JUCE           β”‚ 7.0.9    β”‚ 71 MB      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜


πŸ”„ UPDATE_REGISTRY

Uso

.\update_registry.ps1 [-Force]

PropΓ³sito

Sincroniza registry YAMLs con dependencias realmente instaladas.

CuΓ‘ndo Usar

  • βœ… DespuΓ©s de install manual: vcpkg install <pkg>
  • βœ… Registry desactualizado
  • βœ… Cambio de equipo (pull registry de git)

QuΓ© Hace

  1. Escanea vcpkg:

    vcpkg list
    

  2. Escanea Python:

    pip list
    

  3. Actualiza YAMLs:

  4. Crea nuevos para packages instalados
  5. Actualiza existentes con nueva info
  6. Marca como "removed" los que no estΓ‘n

  7. Output:

    βœ“ Updated fftw3.yaml (version 3.3.9 β†’ 3.3.10)
    βœ“ Created eigen3.yaml (newly installed)
    ⚠️  Marked libpng.yaml as removed (not installed)
    


🎯 WORKFLOWS COMUNES

First-Time Setup

# 1. Install all
.\install_all_dependencies.ps1

# 2. Verify
.\verify_installation.ps1

# 3. Done! Build project
cd ..\..\03_02_build_infrastructure\03_02_03_build_scripts
.\build.ps1

Reinstall After Clean

# 1. Clean (si ya lo hiciste)
..\03_03_03_maintenance_scripts\clean_dependencies.ps1 -All

# 2. Install core (mΓ‘s rΓ‘pido)
.\install_core_deps.ps1

# 3. Verify
.\verify_installation.ps1

Add Single Dependency

# 1. Install manually
vcpkg install new-lib:x64-windows

# 2. Update registry
.\update_registry.ps1

# 3. Verify
.\verify_installation.ps1

After Git Pull (Registry Changed)

# 1. See what changed
git diff 03_03_00_package_manifests/_installed_registry/

# 2. Install missing packages
.\install_all_dependencies.ps1

# 3. Verify
.\verify_installation.ps1

πŸ“š RECURSOS


Última actualización: 2025-10-09