project( run_command( 'tomlq', '-r', '.project.name', 'pyproject.toml', check: true ).stdout().strip('\n'), # 'online.fxreader.uv', # ['c', 'cpp'], version: '0.1.5.16+27.14', # 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