Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

premake: Define VST2 boilerplate cpp-files explictly #70

Closed
wants to merge 4 commits into from
Closed

Conversation

jarkkojs
Copy link
Collaborator

If the boilerplate cpp-files are not enumerated explicitly in premake5.lua,
and if any of them is missing, the plugin will compile without errors but
obviously won't load.

Signed-off-by: Jarkko Sakkinen [email protected]

If the boilerplate cpp-files are not enumerated explicitly in premake5.lua,
and if any of them is missing, the plugin will compile without errors but
obviously won't load.

Signed-off-by: Jarkko Sakkinen <[email protected]>
VST2 boileplate cpp-files inside the VST3 SDK had an incorrect path,
which went silent from the build system.  Enumerate the needed
boilerplate cpp-files explicitly so that the build system will always
give us an error if any of the files are missing.

However, comment the files out because compiling vst2wrapper.cpp will
result the following compiler error (Linux/GCC):

vst3sdk/public.sdk/source/vst/basewrapper/basewrapper.cpp: In member function ‘virtual bool Steinberg::Vst::BaseEditorWrapper::_open(void*)’:
vst3sdk/public.sdk/source/vst/basewrapper/basewrapper.cpp:197:32: error: ‘type’ was not declared in this scope
   return mView->attached (ptr, type) == kResultTrue;

Signed-off-by: Jarkko Sakkinen <[email protected]>
@jarkkojs
Copy link
Collaborator Author

jarkkojs commented Dec 14, 2018

Probably a good practice/balance with premake5 would be to use explicit paths for any external boilerplate files and wildcards for the internal files. The main build recipe won't explode but we still get proper compiler errors when something is missing.

@esaruoho
Copy link
Collaborator

@asimilon - query, are bits in this PR something that help with https://github.com/asimilon/surge/commits/macOS_VST2_build ?

Just set userDataPath to the fixed ~/Documents/Surge location.

Signed-off-by: Jarkko Sakkinen <[email protected]>
Copy link
Collaborator

@kzantow kzantow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 this is actually what tripped me up for a bit (for those who don't deal with C++ on osx for a day job...)

@esaruoho
Copy link
Collaborator

@jsakkine all this has been added to #92 so you might wanna close this PR..

Add a new target to premake5.lua called app that builds a standalone
application. Surge (and VSTGUI) files  are linked to the final
executable but it does not do anything useful yet. This just the initial
plumbing needed.

In addition, the target is only available on Linux. This is done
purpose. It is better to make it first work on one platform, and after
it is fully working, scale it to the other platforms. They are easy to
add once app itself is not a moving platform.

Linux is the most reasonable choice for this because on that platform
the standalone app is most desperately needed for development as plugin
targets do not work properly yet. Then, at least one target will support
Linux and probably the plugin issues get more easily fixed.

Signed-off-by: Jarkko Sakkinen <[email protected]>
@jarkkojs jarkkojs closed this Dec 17, 2018
This was referenced Dec 19, 2018
baconpaul added a commit that referenced this pull request Dec 19, 2018
Duplicate of #70 expand vst2 file list
baconpaul added a commit to baconpaul/surge that referenced this pull request Jul 10, 2019
Duplicate of surge-synthesizer#70 expand vst2 file list

Former-commit-id: d22dcae
Former-commit-id: 003ed52322f1d92e63c184cf8b569540d6458587
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants