mirror of
https://github.com/guilhermewerner/rust-ffi
synced 2025-06-15 13:24:19 +00:00
Setup Bindings Generation
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@ -9,7 +9,7 @@ imgui.ini
|
|||||||
# Cargo Files
|
# Cargo Files
|
||||||
|
|
||||||
Cargo.lock
|
Cargo.lock
|
||||||
Engine/Source/Header.h
|
Source/Library.h
|
||||||
|
|
||||||
# Mac OSX
|
# Mac OSX
|
||||||
|
|
||||||
|
113
Config/Bindings.toml
Normal file
113
Config/Bindings.toml
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
# This is a template cbindgen.toml file with all of the default values.
|
||||||
|
# Some values are commented out because their absence is the real default.
|
||||||
|
#
|
||||||
|
# See https://github.com/eqrion/cbindgen/blob/master/docs.md#cbindgentoml
|
||||||
|
# for detailed documentation of every option here.
|
||||||
|
|
||||||
|
language = "C"
|
||||||
|
|
||||||
|
############## Options for Wrapping the Contents of the Header #################
|
||||||
|
|
||||||
|
# header = "// Copyright (c) GuilhermeWerner"
|
||||||
|
# trailer = "/* Text to put at the end of the generated file */"
|
||||||
|
# include_guard = "my_bindings_h"
|
||||||
|
pragma_once = true
|
||||||
|
# autogen_warning = "/* Warning, this file is autogenerated by cbindgen. Don't modify this manually. */"
|
||||||
|
include_version = false
|
||||||
|
namespace = "Library"
|
||||||
|
namespaces = []
|
||||||
|
using_namespaces = []
|
||||||
|
sys_includes = []
|
||||||
|
includes = []
|
||||||
|
no_includes = false
|
||||||
|
cpp_compat = true
|
||||||
|
|
||||||
|
# A list of lines to add verbatim after the includes block
|
||||||
|
#after_includes = "MY_DEFINITION"
|
||||||
|
|
||||||
|
############################ Code Style Options ################################
|
||||||
|
|
||||||
|
braces = "NextLine"
|
||||||
|
line_length = 100
|
||||||
|
tab_width = 4
|
||||||
|
line_endings = "LF" # also "CR", "CRLF", "Native"
|
||||||
|
|
||||||
|
############################# Codegen Options ##################################
|
||||||
|
|
||||||
|
style = "tag"
|
||||||
|
sort_by = "Name" # default for `fn.sort_by` and `const.sort_by`
|
||||||
|
usize_is_size_t = true
|
||||||
|
|
||||||
|
[defines]
|
||||||
|
# "target_os = freebsd" = "DEFINE_FREEBSD"
|
||||||
|
# "feature = serde" = "DEFINE_SERDE"
|
||||||
|
|
||||||
|
[export]
|
||||||
|
include = []
|
||||||
|
exclude = []
|
||||||
|
# prefix = "CAPI_"
|
||||||
|
item_types = []
|
||||||
|
renaming_overrides_prefixing = false
|
||||||
|
|
||||||
|
[export.rename]
|
||||||
|
|
||||||
|
[export.body]
|
||||||
|
|
||||||
|
[export.mangle]
|
||||||
|
|
||||||
|
[fn]
|
||||||
|
# rename_args = "PascalCase"
|
||||||
|
# must_use = "MUST_USE_FUNC"
|
||||||
|
# no_return = "NO_RETURN"
|
||||||
|
# prefix = "START_FUNC"
|
||||||
|
# postfix = "END_FUNC"
|
||||||
|
args = "auto"
|
||||||
|
sort_by = "Name"
|
||||||
|
|
||||||
|
[struct]
|
||||||
|
# rename_fields = "PascalCase"
|
||||||
|
# must_use = "MUST_USE_STRUCT"
|
||||||
|
derive_constructor = false
|
||||||
|
derive_eq = false
|
||||||
|
derive_neq = false
|
||||||
|
derive_lt = false
|
||||||
|
derive_lte = false
|
||||||
|
derive_gt = false
|
||||||
|
derive_gte = false
|
||||||
|
|
||||||
|
[enum]
|
||||||
|
# rename_variants = "PascalCase"
|
||||||
|
# must_use = "MUST_USE_ENUM"
|
||||||
|
add_sentinel = false
|
||||||
|
prefix_with_name = false
|
||||||
|
derive_helper_methods = false
|
||||||
|
derive_const_casts = false
|
||||||
|
derive_mut_casts = false
|
||||||
|
# cast_assert_name = "ASSERT"
|
||||||
|
derive_tagged_enum_destructor = false
|
||||||
|
derive_tagged_enum_copy_constructor = false
|
||||||
|
enum_class = true
|
||||||
|
private_default_tagged_enum_constructor = false
|
||||||
|
|
||||||
|
[const]
|
||||||
|
allow_static_const = true
|
||||||
|
allow_constexpr = false
|
||||||
|
sort_by = "Name"
|
||||||
|
|
||||||
|
[macro_expansion]
|
||||||
|
bitflags = false
|
||||||
|
|
||||||
|
############## Options for How Your Rust library Should Be Parsed ##############
|
||||||
|
|
||||||
|
[parse]
|
||||||
|
parse_deps = false
|
||||||
|
# include = []
|
||||||
|
exclude = []
|
||||||
|
clean = false
|
||||||
|
extra_bindings = []
|
||||||
|
|
||||||
|
[parse.expand]
|
||||||
|
crates = []
|
||||||
|
all_features = false
|
||||||
|
default_features = true
|
||||||
|
features = []
|
1
GenerateBindings.bat
Normal file
1
GenerateBindings.bat
Normal file
@ -0,0 +1 @@
|
|||||||
|
cbindgen --config .\Config\Bindings.toml --crate Library --output Source\Library.h
|
3
GenerateBindings.command
Normal file
3
GenerateBindings.command
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/zsh
|
||||||
|
|
||||||
|
cbindgen --config ./Config/Bindings.toml --crate Library --output Source/Library.h
|
3
GenerateBindings.sh
Normal file
3
GenerateBindings.sh
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
cbindgen --config ./Config/Bindings.toml --crate Library --output Source/Library.h
|
Reference in New Issue
Block a user