Dear Tracy,
Every OpendTect application in the bin/<arch>/Release folder has its own auto-load mechanism of the plugins. The OpendTect menu/dialog that launches the batch processing of an attribute sets-up a machine command that, when executed, will spawn a new process to perform the batch processing. For attributes it is od_process_attrib, for volume processing setup it is od_process_volume.
Therefore a plugin needs to have an exhaustive list of the
executables that will auto-load the plugin at startup. This list
must be set in the CMakeList.txt file of the plugin, see:
https://github.com/OpendTect/OpendTect/blob/main/plugins/Tut/CMakeLists.txt:17
SET( OD_PLUGIN_ALO_EXEC ${OD_ATTRIB_EXECS} ${OD_VOLUME_EXECS} )
Note that here there is no mention of the od_main executable. That is because od_main would need to auto-load the ui part of the plugin as well. As a result this configuration is found in the CMakeLists.txt file of uiTut:
https://github.com/OpendTect/OpendTect/blob/main/plugins/uiTut/CMakeLists.txt:18Since the ui part of the plugin is dependent of its non-ui part, this will be sufficient to auto-load both Tut and uiTut at the startup of od_main.
SET( OD_PLUGIN_ALO_EXEC ${OD_MAIN_EXEC} )
However, the tutorial plugin is a bit specific, as we do not want it to auto-load, especially in public releases, but also sometimes in a development environment you may want it to only load at request (as you did in the OpendTect main window).
This 'feature' is implemented also in the CMakeLists.txt file of
the plugin, with the cmake variable OD_NO_ALO_ENTRY. Setting it to
1 will disable the auto-load feature, as cmake won't create an alo
file for that plugin. See:
https://github.com/OpendTect/OpendTect/blob/main/plugins/Tut/CMakeLists.txt:18Hence, if you want to enable the auto-loading of the Tut plugin for od_process_attrib, you would need to comment line 18 of plugins/Tut/CMakeLists.txt, and rerun cmake.
https://github.com/OpendTect/OpendTect/blob/main/plugins/uiTut/CMakeLists.txt:19
One note however: Once alo files are created by cmake, they stay
inside od/plugins/<arch>. Thus if you wish to disable back
that auto-loading of a plugin, you would need to comment back the
lines mentioned above, rerun cmake, and manually delete the files
od/plugin/<arch>/*.<PluginName>.alo. Generally, to
keep it simple, I delete all the files inside
od/plugin/<arch> before rerunning cmake, after having
touched any auto-load setting in the CMakeLists.txt files.
Best regards,
| Arnaud Huck, MSc |
| Chief Technical Officer |
|
| dGB Earth Sciences |
| Phone: | +31 53 43 15 155 |
| E-mail: | arnau...@dgbes.com |
| Internet: | dgbes.com |
--
You received this message because you are subscribed to the Google Groups "OpendTect Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to developers+...@opendtect.org.
To view this discussion on the web visit https://groups.google.com/a/opendtect.org/d/msgid/developers/563d4b10-bc59-41b0-8e03-66e4a694a99en%40opendtect.org.