wrenpp/meson.build
King_DuckZ 16c4b8cbe5 Allow foreign_method_fn() in the configuration object.
Wren expects this function to return a pointer to a function
that takes a WrenVM*. This is bad news because that type is
wrapped inside wren::VM and client code doesn't know about it.
It would be better for client code to return a pointer to a
function that takes a VM* instead. In order to do the VM* to
WrenVM* translation I make a "handmade" closure, that is I
generate a function at runtime that contains the VM* hardcoded
into it. The same function also contains the hardcoded
address of the callback function client code wanted to use.
By doing this I can pass a different function pointer to Wren
for each foreign method, and that function knows how to forward
the call to the real client callback.
Currently only implemented for amd64 gnu/linux.
2020-04-26 17:20:12 +02:00

17 lines
457 B
Meson

project('wrentest', 'cpp',
version: '1.0.0',
meson_version: '>=0.49.2',
default_options: ['debug=true', 'cpp_std=c++17', 'b_ndebug=if-release'],
)
wren_dep = dependency('wren', version: '>=0.2.0', fallback: ['wren', 'wren_dep'])
executable(meson.project_name(),
'src/main.cpp',
'src/wren/vm.cpp',
'src/wren/configuration.cpp',
'src/wren/def_configuration.cpp',
'src/wren/dynafunc_maker.cpp',
dependencies: [wren_dep],
install: true,
)