diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index fc6d1ea..0713b81 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -36,8 +36,8 @@ jobs: include: - os: ubuntu-latest arch: x86_64 - #- os: windows-latest - # arch: x86_64 + - os: windows-latest + arch: x86_64 - os: macos-13 # Intel arch: x86_64 - os: macos-14 # Apple Silicon diff --git a/SciQLopPlots/bindings/helper_scripts/shiboken-helper.py b/SciQLopPlots/bindings/helper_scripts/shiboken-helper.py index 1e2452f..25ea7c4 100644 --- a/SciQLopPlots/bindings/helper_scripts/shiboken-helper.py +++ b/SciQLopPlots/bindings/helper_scripts/shiboken-helper.py @@ -17,10 +17,9 @@ parser.add_argument('--modules') parser.add_argument('--qmake') parser.add_argument('--build-dir', nargs='?') -parser.add_argument('--pyside_version', default='2') args = parser.parse_args() -pyside_ver = args.pyside_version +pyside_ver = 6 shiboken_generator = importlib.import_module(f'shiboken{pyside_ver}_generator') shiboken = importlib.import_module(f'shiboken{pyside_ver}') @@ -62,6 +61,9 @@ def make_link_flag(lib_path): def make_link_flags(libs_paths): + libs_paths = list(filter(lambda l: l is not None, libs_paths)) + print(f"platform: {platform.system().lower()}", file=sys.stderr) + print(f"libs_paths: {libs_paths}", file=sys.stderr) if platform.system().lower() == 'linux': link_flag="-Wl,-rpath=" else: @@ -86,14 +88,17 @@ def make_link_flags(libs_paths): modules = args.modules.split(',') if args.libs: - main_lib = [find_lib(f'(lib)?shiboken{pyside_ver}.*{ext_sufix}', [f'{shiboken_mod_path}', '/usr/lib64/'])] + main_lib = [find_lib(f'(lib)?shiboken{pyside_ver}.*{ext_sufix}', [f'{shiboken_mod_path}', '/usr/lib64/'])] + print(f"main_lib: {main_lib}", file=sys.stderr) main_lib += [find_lib(f'(lib)?[Pp]y[sS]ide{pyside_ver}\..*{ext_sufix}.*', [f'{PySide_mod_path}', '/usr/lib64/'])] + print(f"main_lib: {main_lib}", file=sys.stderr) if platform.system().lower() == 'windows': main_lib += [find_lib('python3.lib', [f'{os.path.dirname(sys.executable)}{os.path.sep}libs'])] if platform.system().lower() == 'darwin' or platform.system().lower() == 'windows': modules_libs = [] else: modules_libs = [importlib.import_module(f'PySide{pyside_ver}.{module}').__file__ for module in modules] + print(f"modules_libs: {modules_libs}", file=sys.stderr) print(" ".join(make_link_flags(main_lib + modules_libs))) if args.includes: diff --git a/SciQLopPlots/meson.build b/SciQLopPlots/meson.build index 723f93d..d6e8761 100644 --- a/SciQLopPlots/meson.build +++ b/SciQLopPlots/meson.build @@ -33,9 +33,11 @@ generated_srcs = run_command(python3, src_list, '--build-system', 'meson', '--b modules_arg = '--modules=@0@'.format(','.join(qt_modules)) -shiboken_build_flags = run_command(python3, shiboken_helper, '--qmake', qmake.full_path(), '--pyside_version', pyside_version, '--includes', modules_arg).stdout().strip('\n').split(' ') -shiboken_link_flags = run_command(python3, shiboken_helper, '--qmake', qmake.full_path(), '--pyside_version', pyside_version, '--build-dir', meson.current_build_dir(), '--libs', modules_arg).stdout().strip('\n').split(' ') -shiboken_typesystem = run_command(python3, shiboken_helper, '--qmake', qmake.full_path(), '--pyside_version', pyside_version, '--typesystem').stdout().strip('\n') +shiboken_build_flags = run_command(python3, shiboken_helper, '--qmake', qmake.full_path(), '--includes', modules_arg).stdout().strip('\n').split(' ') +shiboken_link_flags_out = run_command(python3, shiboken_helper, '--qmake', qmake.full_path(), '--build-dir', meson.current_build_dir(), '--libs', modules_arg) +shiboken_link_flags = shiboken_link_flags_out.stdout().strip('\n').split(' ') +message('shiboken_build_flags: @0@'.format(shiboken_link_flags_out.stderr())) +shiboken_typesystem = run_command(python3, shiboken_helper, '--qmake', qmake.full_path(), '--typesystem').stdout().strip('\n') sciqlopplots_bindings_src = []