Browse Source

doc: mention the new static plugin import files in Developers Guide.

pull/205/merge
Vladimír Vondruš 8 years ago
parent
commit
aacafbbb2f
  1. 14
      doc/developers.dox

14
doc/developers.dox

@ -188,9 +188,12 @@ Similarly to @ref developers-library except points 2 and 5, with:
adapting plugin name and plugin interface string. It's needed to be in a adapting plugin name and plugin interface string. It's needed to be in a
separate file that gets compiled only to the plugin library, not to the separate file that gets compiled only to the plugin library, not to the
test library. test library.
4. Create `configure.h.cmake` for plugin-specific information about whether 4. Create `importStaticPlugin.cpp` by copypasting it from another plugin and
adapting plugin name. This will get installed along with plugin headers to
aid with automatic import.
5. Create `configure.h.cmake` for plugin-specific information about whether
the library was built as static or not the library was built as static or not
5. Create a new `src/MagnumPlugins/PluginName/CMakeLists.txt`, copy over 6. Create a new `src/MagnumPlugins/PluginName/CMakeLists.txt`, copy over
up-to-date license header from other CMake files and populate it (replaces up-to-date license header from other CMake files and populate it (replaces
point 5 in @ref developers-library): point 5 in @ref developers-library):
- add source files to `PluginName_SRCS` variable - add source files to `PluginName_SRCS` variable
@ -219,13 +222,16 @@ Similarly to @ref developers-library except points 2 and 5, with:
@cmake add_plugin() @ce @cmake add_plugin() @ce
- verify that @cmake set_target_properties(PluginName PROPERTIES POSITION_INDEPENDENT_CODE ON) @ce - verify that @cmake set_target_properties(PluginName PROPERTIES POSITION_INDEPENDENT_CODE ON) @ce
is done in case `BUILD_STATIC_PIC` is set is done in case `BUILD_STATIC_PIC` is set
- verify that in case of `BUILD_PLUGINS_STATIC` the
`importStaticPlugin.cpp` file is installed is set and that an
*absolute* path to it is added to @cmake target_sources() @ce
- verify that @cmake add_library(MagnumPlugins::PluginName ALIAS PluginName) @ce - verify that @cmake add_library(MagnumPlugins::PluginName ALIAS PluginName) @ce
(or equivalent) is added to make the library visible for CMake (or equivalent) is added to make the library visible for CMake
subprojects subprojects
6. If there is more than one interface header (other than just `PluginName.h` 7. If there is more than one interface header (other than just `PluginName.h`
being installed), add a new `visibility.h` header. Otherwise put the being installed), add a new `visibility.h` header. Otherwise put the
visibility macros directly in `PluginName.h`. visibility macros directly in `PluginName.h`.
7. If the plugin handles a new format: 8. If the plugin handles a new format:
- if the plugin is not named directly after the format, add an alias to - if the plugin is not named directly after the format, add an alias to
it (for example the @ref Trade::MiniExrImageConverter "MiniExrImageConverter" it (for example the @ref Trade::MiniExrImageConverter "MiniExrImageConverter"
plugin is aliased to `OpenExrImageConverter`) plugin is aliased to `OpenExrImageConverter`)

Loading…
Cancel
Save