# meson.build - USM Installer build configuration # This is a standalone project for building the USM installer project('usm-installer', 'c', version: '0.1.0', default_options: ['warning_level=1'] ) installer_dir = meson.current_source_dir() project_root = installer_dir / '..' usm_source_dir = project_root / 'src' # Version from project version = meson.project_version() # Find required programs bash = find_program('bash', required: true) tar = find_program('tar', required: true) xz = find_program('xz', required: true) git = find_program('git', required: true) # Installer source files installer_sources = files( 'utils.sh', 'ui.sh', 'pm_base.sh', 'pm_apt.sh', 'pm_dnf.sh', 'build_config.sh', 'main.sh' ) # Compile script compile_script = installer_dir / 'compile.sh' # Output directory and file output_dir = installer_dir / 'dist' installer_output = output_dir / 'install-usm.sh' # Ensure the output directory exists run_command('mkdir', '-p', output_dir, check: false) # Custom command to build the installer build_installer = custom_target( 'install-usm.sh', output: 'install-usm.sh', input: installer_sources, command: [ bash, compile_script, '@OUTPUT@', version, usm_source_dir ], build_by_default: true, install: false, ) # Create a custom target for distribution alias_target('installer', build_installer) # Message about the installer message('USM Installer will be built to: ' + installer_output)