Jump to content

Squirrel Module Template


Recommended Posts


Squirrel Module Template is a sample project for creating cross platform module for g2o project.
The project uses
CMake to allow easy compilation on different CPU, Operating Systems, as well as .gitlab-ci.yml for adding CI/CD pipeline that can be used for compiling & releasing your plugin.

The possible build steps are described in README.md file.

Project links:
- Repository

CI/CD Pipeline

The CI/CD pipeline is really simple to use.
In order to make a new release of your plugin, you have to:

- Modify the CHANGELOG.md file.
- Modify the TAG variable in .gitlab-ci.yml file.
- Run the pipeline manually.


The project structure is configured so that it’s easy to add new dependencies.
If you need to add header only, you can just place it in dependencies subfolder.
If the dependency is more complex, it can be included by adding add_subdirectory + target_link_libraries function calls in dependencies/CMakeLists.txt subfolder.


Module itself uses Sqrat for exposing new functionallity to Squirrel which simplifies the process quite a bit. The included Sqrat project has some custom changes in HSQAPI structure, sot it’s not 1:1 original code version, in the past Sqrat was lacking some Squirrel API functions inside HSQAPI pointer struct and in order to preserve the compatibility with already existing binary modules we’ve decided to maintain the compatibility, while official Sqrat repository broke it.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...