yams/tools/yams-cli/meson.build
2025-09-20 22:55:34 -04:00

62 lines
1.9 KiB
Meson

# Respect build flag and presence of CLI library; skip if unavailable
if not get_option('build-cli')
message('build-cli=false; skipping yams-cli target')
subdir_done()
endif
yams_cli_dep = dependency('yams_cli', required: false)
if not yams_cli_dep.found()
message('yams_cli library not found; skipping yams-cli target (build of CLI lib may have been skipped due to missing CLI11).')
subdir_done()
endif
yams_cli_exe_deps = [
yams_cli_dep,
# Ensure correct static link order: client first, then daemon providers
dependency('yams_daemon_client'),
dependency('yams_daemon'),
dependency('yams_app_services'),
dependency('yams_repair'),
dependency('yams_api'),
dependency('yams_search'),
dependency('yams_vector'),
dependency('yams_indexing'),
dependency('yams_content'),
dependency('yams_downloader'),
dependency('yams_metadata'),
dependency('yams_wal'),
dependency('yams_storage_engine'),
dependency('yams_reference_counter'),
dependency('yams_manifest'),
dependency('yams_integrity'),
dependency('yams_chunking'),
dependency('yams_compression'),
dependency('yams_crypto'),
dependency('yams_detection'),
dependency('yams_extraction'),
dependency('yams_config'),
dependency('yams_core'),
dependency('boost'),
dependency('spdlog'),
dependency('fmt'),
# CLI11 may be brought in via yams_cli; keep optional here to avoid hard failure
dependency('cli11', required: false),
]
if get_option('build-mcp-server')
yams_cli_exe_deps += dependency('yams_mcp')
endif
yams_cli_exe = executable('yams-cli',
'main.cpp',
dependencies: yams_cli_exe_deps,
install: true,
install_dir: get_option('bindir'),
)
# Also install a friendly `yams` alias as a symlink next to the binary.
# This avoids duplicate builds while giving users the expected command name.
install_symlink('yams',
install_dir: get_option('bindir'),
pointing_to: 'yams-cli',
)