Difference between revisions of "Programming Howto:Deploy a Release version of a BCI2000 Module"

From BCI2000 Wiki
Jump to: navigation, search
Line 37: Line 37:
 
[[File:deploy_module_8.png|center]]
 
[[File:deploy_module_8.png|center]]
  
... but when appending a ".zip" extension, you can see it's a ZIP file as well.
+
... but when appending a ".zip" extension, you can see it's a ZIP archive as well. At the beginning, there is an executable stub like in a self-extracting archive. Unlike a self-extracting archive, the bundle stub does not extract the archive's contents to disk but loads and runs them.
  
 
[[File:deploy_module_9.png|center]]
 
[[File:deploy_module_9.png|center]]

Revision as of 15:46, 16 August 2018

Back

To this howto's overview page.

Globally enable application bundling

Double-click the "Configure.sh.cmd" script in the BCI2000 build directory to start the CMake GUI.

Deploy module 1.png

Make sure "USE_APPLICATION_BUNDLES" is checked, and click "Generate".

Deploy module 2.png

Switch to VisualStudio and click "Reload" if prompted.

Deploy module 3.png

Enable application bundling for your module

In your module's CMakeLists.txt, disable any "NOBUNDLE" option.

Deploy module 4.png

Rebuild your module

Switch to Release mode.

Deploy module 5.png

Right-click your module, and choose "Build" from the context menu.

Deploy module 6.png

When the bundle is created, a list of contained files will be shown.

Deploy module 7.png

The bundle looks like an executable ...

Deploy module 8.png

... but when appending a ".zip" extension, you can see it's a ZIP archive as well. At the beginning, there is an executable stub like in a self-extracting archive. Unlike a self-extracting archive, the bundle stub does not extract the archive's contents to disk but loads and runs them.

Deploy module 9.png

This allows you to move the module to a different machine without having to install additional software there.

NOTE: This does not work for debug builds, which will always depend on components installed alongside VisualStudio.

See also

Programming Howto:Building and Customizing BCI2000