88 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Meson
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Meson
		
	
	
	
	
	
project(
 | 
						|
	run_command(
 | 
						|
		'.venv/bin/tomlq', '-r', '.project.name', 'pyproject.toml',
 | 
						|
		check: true
 | 
						|
	).stdout().strip('\n'),
 | 
						|
# 	'online.fxreader.uv',
 | 
						|
# 	['c', 'cpp'],
 | 
						|
	version: '0.1.5.32',
 | 
						|
# 	default_options: [
 | 
						|
# 		'cpp_std=c++23',
 | 
						|
# 		# 'prefer_static=true',
 | 
						|
# 	],
 | 
						|
)
 | 
						|
 | 
						|
install_path = get_option('install_path')
 | 
						|
message('install_path = ' + install_path)
 | 
						|
 | 
						|
modes = get_option('modes')
 | 
						|
 | 
						|
fs = import('fs')
 | 
						|
 | 
						|
assert(modes.length() == 1, 'only one mode allowed')
 | 
						|
 | 
						|
mode = modes[0]
 | 
						|
 | 
						|
 | 
						|
project_root = '.'
 | 
						|
source_dir = project_root
 | 
						|
include_dir = project_root
 | 
						|
 | 
						|
 | 
						|
if mode == 'meson'
 | 
						|
# 	error()
 | 
						|
endif
 | 
						|
 | 
						|
if mode == 'pyproject'
 | 
						|
	py = import('python').find_installation(pure: false)
 | 
						|
 | 
						|
	namespace_path = meson.project_name().replace('.', '/')
 | 
						|
 | 
						|
	install_root = py.get_install_dir(pure: true)
 | 
						|
	install_root_binary = py.get_install_dir(pure: false)
 | 
						|
 | 
						|
	module_root = install_root / namespace_path
 | 
						|
 | 
						|
	python_sources = run_command(
 | 
						|
		'find', namespace_path, '-iname', '*.py',
 | 
						|
		check: true
 | 
						|
	).stdout().strip().split('\n')
 | 
						|
 | 
						|
	py.install_sources(
 | 
						|
		python_sources,
 | 
						|
		preserve_path: true,
 | 
						|
		pure: true,
 | 
						|
# 		subdir: namespace_path,
 | 
						|
	)
 | 
						|
 | 
						|
# 	install_subdir(
 | 
						|
# 		namespace_path,
 | 
						|
# 		install_dir: py.get_install_dir(),
 | 
						|
# 		install_tag: 'python-runtime',
 | 
						|
# # 		python_sources,
 | 
						|
# # 		subdir: namespace_path,
 | 
						|
# 	)
 | 
						|
 | 
						|
	install_data(
 | 
						|
		files(
 | 
						|
			[
 | 
						|
				namespace_path / 'py.typed',
 | 
						|
			],
 | 
						|
# 			'py.typed',
 | 
						|
			# '__init__.py',
 | 
						|
# 			'pyproject.toml',
 | 
						|
		),
 | 
						|
		install_dir : install_root,
 | 
						|
		install_tag: 'python-runtime',
 | 
						|
		preserve_path: true,
 | 
						|
	)
 | 
						|
#
 | 
						|
	install_subdir(
 | 
						|
		project_root / '..' / 'meson',
 | 
						|
		install_dir : module_root,
 | 
						|
		strip_directory: false,
 | 
						|
# 		install_tag: 'devel',
 | 
						|
		install_tag: 'devel',
 | 
						|
	)
 | 
						|
endif
 |