Closed briansorahan closed 6 years ago
I appreciate your interest.
You're probably just missing a few pieces of a pretty complex puzzle. Here are some of the missing pieces (none of which are obvious):
The DHE-Modules master
branch and dale-only/...
branches use features from Rack's master
branch. Those DHE-Modules branches won't compile against Rack v0.5
branch. That's most of what you're seeing in the compilation errors.
If you really want to build against Rack v0.5
, build the DHE-Modules v0.5.0
tag. It doesn't have Booster Stage, but it has Stage and Upstage, and they're plenty of fun on their own.
Rack's master
branch includes a new Rack build system--the "v0.6.0" build system. This new system allows building plugins from any directory, and not only from the Rack/plugins
directory.
I like to put my plugin code and the Rack code as subdirectories of the same parent directory. That's why RACK_DIR
is defined as ../Rack
in my Makefile
.
If you really want to build the plugin in the Rack/plugins
directory, you can override my RACK_DIR
setting by specifying a different value when you run make
:
make <target> RACK_DIR=../..
Rack's Makefile
includes allplugins
and distplugins
targets to build any plugins in the plugins
subdirectory. If you want, you can build DHE-Modules that way. Put DHE-Modules into Rack/plugins
, then on Rack's master
branch run one of these commands:
make allplugins RACK_DIR=../..
make distplugins RACK_DIR=../..
I would be happier if the Rack Makefile
defined RACK_DIR
automatically when it built those targets, but currently it does not. Maybe I'll open an issue on Rack.
For my convenience (and maybe yours) I've added a run
target in my Makefile
. That will make dist
, copy the plugin files to RACK_DIR/plugins
, and run Rack.
make run RACK_DIR=<path-to-rack>
Okay, that's probably an overwhelming amount of stuff to absorb. I hope something in there is helpful for you.
After consulting with Andrew, I've adjusted my Makefile
to make it more like other plugins' Makefile
s. It should work for you now, as long as you build against Rack's master
branch.
Thanks for the snappy turnaround @dhemery I will have to test this when I upgrade from Rack v0.5
Compiling against Rack v0.5 HEAD. First issue is that I checkout the code in plugins/DHE-Modules. The default RACK_DIR seems to expect a different directory structure than what is recommended here.
After setting RACK_DIR, next issue:
Since
math.hpp
is in Rack/include I just change the#include
in widget.h tomath.hpp
. Then I get lots of compilation errors:Am I doing something wrong? Your modules look cool and I want to try them out.