| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- # 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)
|