Skip to content

[feature request] Support std::shared_ptr (and complete Github Actions workflow example file with generating bindings of popular libraries) #1860

Open
@vadimkantorov

Description

@vadimkantorov

UPD: the missing std::shared_ptr<T> support context is in the message #1860 (comment). Currently this support seems missing, and shared_ptr/unique_ptr are quite common types in modern C++ APIs to be processed

JavaCpp seems to support binding std::shared_ptr<T>: bytedeco/javacpp#623

Below is a very long thread where we ended up rolling a fully complete GitHub Actions Workflow file.


GitHub Actions allow for a reproducible environment, so pulling in-tree a collection of GitHub Actions workflow files for popular libraries from https://github.com/mono/CppSharp?tab=readme-ov-file#users (like ffmpeg or dearimgui) could be a great start for new users showcasing the install procedures.

And sometimes it would be possible to just copy the filly self-contained workflow-file and modify it to create a command for binding-generation for a new library. Then users could send PRs with such workflows/scripts, and they could be tested easily (and especially - tested against new versions of the libraries). Currently https://github.com/mono/CppSharp/tree/main/tests doesn't have many real-world library examples.

I found https://github.com/mono/CppSharp/blob/main/.github/workflows/main.yml. Could it be considered a base for such a workflow file producing a fully functioning llvm+CppSharp install?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions