Files
deb-lite-xl/meson.build

134 lines
4.7 KiB
Meson

project('lite-xl',
['c'],
version : '2.1.8',
license : 'MIT',
meson_version : '>= 0.56',
default_options : [
'c_std=gnu11'
]
)
#===============================================================================
# Project version including git commit if possible
#===============================================================================
version = meson.project_version()
if get_option('buildtype') != 'release'
git_command = find_program('git', required : false)
if git_command.found()
git_commit = run_command(
[git_command, 'rev-parse', 'HEAD'],
check : false
).stdout().strip()
if git_commit != ''
version += ' (git-' + git_commit.substring(0, 8) + ')'
endif
endif
endif
#===============================================================================
# Configuration
#===============================================================================
conf_data = configuration_data()
conf_data.set('PROJECT_BUILD_DIR', meson.current_build_dir())
conf_data.set('PROJECT_SOURCE_DIR', meson.current_source_dir())
conf_data.set('PROJECT_VERSION', version)
conf_data.set('PROJECT_ASSEMBLY_VERSION', meson.project_version() + '.0')
#===============================================================================
# Compiler Settings
#===============================================================================
cc = meson.get_compiler('c')
lite_includes = []
lite_cargs = [
'-DPCRE2_STATIC',
'-DLITE_PROJECT_VERSION_STR="@0@"'.format(version)
]
# On macos we need to use the SDL renderer to support retina displays
if get_option('renderer') or host_machine.system() == 'darwin'
lite_cargs += '-DLITE_USE_SDL_RENDERER'
endif
if get_option('arch_tuple') != ''
arch_tuple = get_option('arch_tuple')
else
arch_tuple = '@0@-@1@'.format(target_machine.cpu_family(), target_machine.system())
endif
lite_cargs += '-DLITE_ARCH_TUPLE="@0@"'.format(arch_tuple)
#===============================================================================
# Linker Settings
#===============================================================================
lite_link_args = []
if host_machine.system() == 'darwin'
lite_link_args += ['-framework', 'CoreServices', '-framework', 'Foundation']
endif
#===============================================================================
# Install Configuration
#===============================================================================
if get_option('portable') or host_machine.system() == 'windows'
lite_bindir = '/'
lite_docdir = '/doc'
lite_datadir = '/data'
configure_file(
input: 'resources' / 'windows' / 'lite-xl.exe.manifest.in',
output: 'lite-xl.exe.manifest',
configuration: conf_data
)
elif get_option('bundle') and host_machine.system() == 'darwin'
lite_cargs += '-DMACOS_USE_BUNDLE'
lite_bindir = 'Contents' / 'MacOS'
lite_docdir = 'Contents' / 'Resources'
lite_datadir = 'Contents' / 'Resources'
conf_data.set(
'CURRENT_YEAR',
run_command('date', '+%Y', capture: true).stdout().strip()
)
install_data('resources' / 'icons' / 'icon.icns', install_dir : 'Contents' / 'Resources')
configure_file(
input : 'resources' / 'macos' / 'Info.plist.in',
output : 'Info.plist',
configuration : conf_data,
install : true,
install_dir : 'Contents'
)
else
message()
lite_bindir = 'bin'
lite_docdir = get_option('datadir') / 'doc' / 'lite-xl'
lite_datadir = get_option('datadir') / 'lite-xl'
if host_machine.system() == 'linux'
install_data('resources' / 'icons' / 'lite-xl.svg',
install_dir : get_option('datadir') / 'icons' / 'hicolor' / 'scalable' / 'apps'
)
install_data('resources' / 'linux' / 'org.lite_xl.lite_xl.desktop',
install_dir : get_option('datadir') / 'applications'
)
install_data('resources' / 'linux' / 'org.lite_xl.lite_xl.appdata.xml',
install_dir : get_option('datadir') / 'metainfo'
)
endif
endif
install_data('licenses' / 'licenses.md', install_dir : lite_docdir)
install_subdir('docs' / 'api' , install_dir : lite_datadir, strip_directory: true)
install_subdir('data' / 'core' , install_dir : lite_datadir, exclude_files : 'start.lua')
foreach data_module : ['fonts', 'plugins', 'colors']
install_subdir(join_paths('data', data_module), install_dir : lite_datadir)
endforeach
configure_file(
input : 'data' / 'core' / 'start.lua',
output : 'start.lua',
configuration : conf_data,
install_dir : join_paths(lite_datadir, 'core'),
)
if not get_option('source-only')
subdir('src')
subdir('scripts')
endif