[Paraview] Developing plugins procedural question

Jérôme jerome.velut at gmail.com
Sat Nov 28 03:14:53 EST 2009


Hi,

My own experience is the following:
I usually make a project with this directory structure:
./
./Algorithms
./Plugins
./(other stuffs)

a global CMakeLists defines different variables:
- ALGORITHM_PATH
- PLUGIN_PATH

A user-defined variable
- BUILD_PARAVIEW_PLUGIN

If the latter is on, then I add SUB_DIRS( PLUGIN_PATH )

In the Algorithm folder, a CMakeLists create a new library (say VTKAlgo lib)
and set a ALGORITHM_SRC variable that
contains the cxx and h. Obvously INCLUDE_DIR is set to this path too.
In the Plugin folder, a CMakeLists build the plugin. After the
ADD_PARAVIEW_PLUGIN, I add TARGET_LINK_LIBRARY( MyPlugin VTKAlgo)

This structure is quite convenient IMHO and I use it for any new project.
Final user can choose to build only the VTK lib or the ParaView plugin. For
extended project with other targets (such as GIMIAS), I simply have to add a
folder with properly defined CMake variable.

HTH
Jerome




2009/11/28 David Doria <daviddoria at gmail.com>

> Say I have written a VTK filter and the directory structure is as follows:
> .../MyFilter/MyFilter.h
> .../MyFilter/MyFilter.cxx
> .../MyFilter/CMakeLists.txt
>
> And it is built in
> .../MyFilter/bin
>
> I now want to make a Paraview plugin for it. I would like to keep it very
> separate though so I can still have something to hand out to people who just
> want the filter, and then have something extra that I could also provide if
> people want the plugin. I tried to do the following:
>
> Make a .../MyFilter/plugin directory.
> Put the MyFilter.xml and a new CMakeLists.txt in that directory.
> set SERVER_MANAGER_SOURCES to ../vtkMyFilter.cxx (which is
> .../MyFilter/MyFilter.cxx)
>
> I then made .../MyFilter/plugin/bin and tried to build the plugin in this
> directory. The problem seems to be that since vtkMyFilter.cxx includes
> "vtkMyFilter.h", this header cannot be found since we are no longer in the
> same directory that vtkMyFilter.h exists in.
>
> I guess ideally I would like to have a .../MyFilter/CMakeListsPlugin.txt
> and build it in .../MyFilter/plugin_bin, but as far as I understand cmake
> will only let you read the configuration from a file named exactly
> CMakeLists.txt.
> Is there an easy solution to this? How do you guys do it?
>
> Thanks,
>
> David
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the ParaView Wiki at:
> http://paraview.org/Wiki/ParaView
>
> Follow this link to subscribe/unsubscribe:
> http://www.paraview.org/mailman/listinfo/paraview
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20091128/48af07fe/attachment.htm>


More information about the ParaView mailing list