* update to SDL 3.2.0 * remove SDL wrap * fix darwin and windows CI * update build box, correct msys sdl3 dependency * port leftovers from renderer backend to SDL3 * remove SDL main dep the main implementation is now included in a header * main.c: use SDL_main.h This needs to be included to work. * ci: use vcpkg and pkgconf to support SDL3 on MSVC * ci: use 7z to create zip * renwindow: create texture and surface suitable for the display * system: remove trailing whitespace * renderer: fix trailing whitespace * system: fix checking the wrong argument * system: port rmdir and stat to SDL3 API * system: remove unneeded API level check * system: fix wrong parameter index * system: make set_window_hit_test and set_window_bordered accept a window * docs/system: update docs * system: restore some comments * docs/system: add missing documentation for system.text_input * system: use SDL_setenv_unsafe * system: add back comment for setenv * system,renderer: remove unnecessary SDL_ClearError calls --------- Co-authored-by: takase1121 <20792268+takase1121@users.noreply.github.com> (cherry picked from commit 2716f14b6903f055f6bdf010a7e4a3d040cf059d)
131 lines
4.6 KiB
Meson
131 lines
4.6 KiB
Meson
project('lite-xl',
|
|
['c'],
|
|
version : '2.1.7',
|
|
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']
|
|
# 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
|