# plugin development commit

**URL:** https://discourse.paraview.org/t/plugin-development-commit/12742
**Category:** Development
**Created:** [August 23, 2023, 7:31pm UTC](https://discourse.paraview.org/t/plugin-development-commit/12742 "2023-08-23T19:31:06Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![zetwal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/zetwal/32/8506_2.png) [@zetwal](https://discourse.paraview.org/u/zetwal)
#### Post date: [August 23, 2023, 7:31pm UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/1 "2023-08-23T19:31:06Z")

</div>

Hello

I’m upgrading the GenericIO plugin; it’s basically version 1.1 of the plugin I added in 2016/2017. Once everything is sorted out, I’d like 1.1 to be integrated into ParaView.

I used the github repo of paraview (master: [GitHub - Kitware/ParaView: VTK-based Data Analysis and Visualization Application](https://github.com/Kitware/ParaView)) to do my changes. Is that fine or should the changes be made to the superbuild? Also, how do I get the new plugin into ParaView? A merge request or something else …

Thanks

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.paraview.org/u/ben.boeckel)
#### Post date: [August 23, 2023, 10:13pm UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/2 "2023-08-23T22:13:00Z")

</div>

The superbuild will need changes to provide the newer GenericIO at least (BLOSC and sz are already there, so that should be pretty simple). There will need to be some tandem merging since I suspect either going first will cause the other to fail. We can set up the superbuild MR to build your paraview MR to test them together.

---

<div class="post-metadata">

### Author: ![zetwal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/zetwal/32/8506_2.png) [@zetwal](https://discourse.paraview.org/u/zetwal)
#### Post date: [August 24, 2023, 12:11am UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/3 "2023-08-24T00:11:28Z")

</div>

Which branch of the superbuild should I integrate it in? Is it master or something else?

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [August 24, 2023, 8:55am UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/4 "2023-08-24T08:55:58Z")

</div>

Hi @zetwal

There is two things to do:

1. Merge your changes into ParaView gitlab repository
2. Update GenericIO in the ParaView superbuild

Lets focus on 1 for now.

First read this and follow the steps: [https://gitlab.kitware.com/paraview/paraview/-/blob/master/Documentation/dev/git/develop.md](https://gitlab.kitware.com/paraview/paraview/-/blob/master/Documentation/dev/git/develop.md)

Then add your github repository as a new remote and checkout your branch.  
Then push your branch to the gitlab remote  
Then open a mr on [gitlab.kitware.com/paraview/paraview](http://gitlab.kitware.com/paraview/paraview) and tag me on it.

Lets reconvene once we’ve reached that 🙂

---

<div class="post-metadata">

### Author: ![zetwal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/zetwal/32/8506_2.png) [@zetwal](https://discourse.paraview.org/u/zetwal)
#### Post date: [August 24, 2023, 1:28pm UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/5 "2023-08-24T13:28:41Z")

</div>

That sounds like a plan.

---

<div class="post-metadata">

### Author: ![zetwal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/zetwal/32/8506_2.png) [@zetwal](https://discourse.paraview.org/u/zetwal)
#### Post date: [August 24, 2023, 6:46pm UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/6 "2023-08-24T18:46:01Z")

</div>

Version 1.1 of the plugin will require BLOSC and SZ. The [genericIO reader](https://git.cels.anl.gov/hacc/genericio) just includes the source of BLOSC and SZ in its repo (using add\_subdirectory in the CMakeLists.txt). However, Ben mentioned that this could cause issues and ParaView has these two. Are there examples where these two are used? I assume that I’ll be using find\_package(SZ …), where should that point to?

Thanks

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.paraview.org/u/ben.boeckel)
#### Post date: [August 24, 2023, 9:02pm UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/7 "2023-08-24T21:02:15Z")

</div>

Just use `find_package(SZ)`. It’s up to the builder (superbuild, vcpkg, etc.) to make the dependencies that should be used accessible.

---

<div class="post-metadata">

### Author: ![zetwal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/zetwal/32/8506_2.png) [@zetwal](https://discourse.paraview.org/u/zetwal)
#### Post date: [October 30, 2023, 3:54pm UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/8 "2023-10-30T15:54:15Z")

</div>

> [@ben.boeckel](#):
>
> up to the builder (superbuild, vcpkg, etc.) to make the dependencies that should be used accessible.

I’m back to working on this. The code is at: [https://gitlab.kitware.com/pascal/paraview/tree/dev](https://gitlab.kitware.com/pascal/paraview/tree/dev)

This is the part that I am unsure about: [https://gitlab.kitware.com/pascal/paraview/-/blob/dev/Plugins/GenericIOReader/Readers/LANL/CMakeLists.txt](https://gitlab.kitware.com/pascal/paraview/-/blob/dev/Plugins/GenericIOReader/Readers/LANL/CMakeLists.txt)

What should I do with the find\_package and `target_link_libraries` ?

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.paraview.org/u/ben.boeckel)
#### Post date: [October 30, 2023, 5:15pm UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/9 "2023-10-30T17:15:43Z")

</div>

> [@zetwal](#):
>
> What should I do with the find\_package and `target_link_libraries` ?

Do you have a more specific question? Things look OK right now. I think I’d recommend using `find_package()` over manual `find_library()` calls, but there’s no fundamental restriction. If this is intended for ParaView itself, I think `vtk_module_find_package` would be better.

---

<div class="post-metadata">

### Author: ![zetwal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/zetwal/32/8506_2.png) [@zetwal](https://discourse.paraview.org/u/zetwal)
#### Post date: [October 30, 2023, 9:45pm UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/10 "2023-10-30T21:45:07Z")

</div>

My question is: what is the proper command to find the SZ, BLOSC, … that’s included in ParaView from CMakeLists? What I have currently does not find the correct BLOSC, … and hence does not compile! Is there an example that I can use?

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.paraview.org/u/ben.boeckel)
#### Post date: [October 31, 2023, 12:13am UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/11 "2023-10-31T00:13:29Z")

</div>

ParaView doesn’t depend on blosc, sz, or zstd (directly), so `find_package` is correct here. For zlib, just use `VTK::zlib` and `#include "vtk_zlib.h"`.

---

<div class="post-metadata">

### Author: ![zetwal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/zetwal/32/8506_2.png) [@zetwal](https://discourse.paraview.org/u/zetwal)
#### Post date: [November 7, 2023, 3:28pm UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/12 "2023-11-07T15:28:35Z")

</div>

> [@ben.boeckel](#):
>
> ed changes to provide the newer GenericIO at least (BLOSC and sz are already there, so that should be pretty simple). There will need to be some tandem merging since I suspect either going first will cause the other to fail. We can set up the superbuild MR to build your paraview MR to test them together.

So I’ve push my changes to [https://gitlab.kitware.com/pascal/paraview/-/tree/dev/Plugins/GenericIOReader](https://gitlab.kitware.com/pascal/paraview/-/tree/dev/Plugins/GenericIOReader) but this does not compile anymore since it cannot find sz and blosc. How do I test that everything will be working?

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.paraview.org/u/ben.boeckel)
#### Post date: [November 22, 2023, 2:12pm UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/13 "2023-11-22T14:12:35Z")

</div>

The superbuild has those dependencies at least.

---

<div class="post-metadata">

### Author: ![zetwal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/zetwal/32/8506_2.png) [@zetwal](https://discourse.paraview.org/u/zetwal)
#### Post date: [November 22, 2023, 4:50pm UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/14 "2023-11-22T16:50:12Z")

</div>

I’m having an issue with superbuild and qt

```auto
[91%] Performing configure step for 'qt5'
+ cd qtbase
+ /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/configure -top-level -opensource -confirm-license -release -prefix /home/pascal/projects/paraview-superbuild_build/install -I /home/pascal/projects/paraview-superbuild_build/install/include -L /home/pascal/projects/paraview-superbuild_build/install/lib -skip qtconnectivity -skip qtgamepad -skip qtlocation -skip qtsensors -skip qtserialport -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -nomake examples -nomake tests -no-dbus -no-icu -qt-libjpeg -qt-pcre -system-zlib -no-openssl -system-libpng -fontconfig -qt-xcb -xkbcommon
Preparing build tree...
Creating qmake...
In file included from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/qendian.h:1,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/src/corelib/codecs/qutfcodec.cpp:43:
/home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/global/qendian.h: In static member function ‘static constexpr QSpecialInteger<S> QSpecialInteger<S>::max()’:
/home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:35: error: ‘numeric_limits’ is not a member of ‘std’
  331 | { return QSpecialInteger(std::numeric_limits<T>::max()); }
      | ^ ~~~~~~~~~~~~~
/home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:54: error: ‘::max’ has not been declared; did you mean ‘std::max’?
  331 | { return QSpecialInteger(std::numeric_limits<T>::max()); }
      | ^~~
      | std::max
In file included from /usr/include/c++/11/algorithm:62,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/global/qglobal.h:142,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/qglobal.h:1,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/tools/qchar.h:43,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/qchar.h:1,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:48,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/qstring.h:1,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/src/corelib/codecs/qutfcodec_p.h:55,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/src/corelib/codecs/qutfcodec.cpp:41:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
 3467 | max(initializer_list<_Tp> __l, _Compare__ comp)
      | ^~~
In file included from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/qendian.h:1,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/src/corelib/codecs/qutfcodec.cpp:43:
/home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:29: error: expected primary-expression before ‘(’ token
  331 | { return QSpecialInteger(std::numeric_limits<T>::max()); }
      | ^
/home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:35: error: ‘numeric_limits’ is not a member of ‘std’
  331 | { return QSpecialInteger(std::numeric_limits<T>::max()); }
      | ^ ~~~~~~~~~~~~~
/home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:51: error: expected primary-expression before ‘>’ token
  331 | { return QSpecialInteger(std::numeric_limits<T>::max()); }
      | ^
/home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:54: error: ‘::max’ has not been declared; did you mean ‘std::max’?
  331 | { return QSpecialInteger(std::numeric_limits<T>::max()); }
      | ^~~
      | std::max
In file included from /usr/include/c++/11/algorithm:62,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/global/qglobal.h:142,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/qglobal.h:1,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/tools/qchar.h:43,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/qchar.h:1,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:48,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/qstring.h:1,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/src/corelib/codecs/qutfcodec_p.h:55,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/src/corelib/codecs/qutfcodec.cpp:41:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
 3467 | max(initializer_list<_Tp> __l, _Compare__ comp)
      | ^~~
In file included from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/qendian.h:1,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/src/corelib/codecs/qutfcodec.cpp:43:
/home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/global/qendian.h: In static member function ‘static constexpr QSpecialInteger<S> QSpecialInteger<S>::min()’:
/home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:35: error: ‘numeric_limits’ is not a member of ‘std’
  333 | { return QSpecialInteger(std::numeric_limits<T>::min()); }
      | ^ ~~~~~~~~~~~~~
/home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:54: error: ‘::min’ has not been declared; did you mean ‘std::min’?
  333 | { return QSpecialInteger(std::numeric_limits<T>::min()); }
      | ^~~
      | std::min
In file included from /usr/include/c++/11/algorithm:62,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/global/qglobal.h:142,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/qglobal.h:1,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/tools/qchar.h:43,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/qchar.h:1,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:48,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/qstring.h:1,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/src/corelib/codecs/qutfcodec_p.h:55,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/src/corelib/codecs/qutfcodec.cpp:41:
/usr/include/c++/11/bits/stl_algo.h:3455:5: note: ‘std::min’ declared here
 3455 | min(initializer_list<_Tp> __l, _Compare__ comp)
      | ^~~
In file included from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/qendian.h:1,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/src/corelib/codecs/qutfcodec.cpp:43:
/home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:29: error: expected primary-expression before ‘(’ token
  333 | { return QSpecialInteger(std::numeric_limits<T>::min()); }
      | ^
/home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:35: error: ‘numeric_limits’ is not a member of ‘std’
  333 | { return QSpecialInteger(std::numeric_limits<T>::min()); }
      | ^ ~~~~~~~~~~~~~
/home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:51: error: expected primary-expression before ‘>’ token
  333 | { return QSpecialInteger(std::numeric_limits<T>::min()); }
      | ^
/home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:54: error: ‘::min’ has not been declared; did you mean ‘std::min’?
  333 | { return QSpecialInteger(std::numeric_limits<T>::min()); }
      | ^~~
      | std::min
In file included from /usr/include/c++/11/algorithm:62,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/global/qglobal.h:142,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/qglobal.h:1,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/tools/qchar.h:43,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/qchar.h:1,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:48,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/include/QtCore/qstring.h:1,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/src/corelib/codecs/qutfcodec_p.h:55,
                 from /home/pascal/projects/paraview-superbuild_build/superbuild/qt5/src/qtbase/src/corelib/codecs/qutfcodec.cpp:41:
/usr/include/c++/11/bits/stl_algo.h:3455:5: note: ‘std::min’ declared here
 3455 | min(initializer_list<_Tp> __l, _Compare__ comp)
      | ^~~
make[3]: *** [Makefile:382: qutfcodec.o] Error 1
CMake Error at /home/pascal/projects/paraview-superbuild_build/superbuild/sb-qt5-configure.cmake:47 (message):
  Failed with exit code 2

make[2]: *** [superbuild/CMakeFiles/qt5.dir/build.make:107: superbuild/qt5/stamp/qt5-configure] Error 1
make[1]: *** [CMakeFiles/Makefile2:2315: superbuild/CMakeFiles/qt5.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

```

This is my gcc version:

```auto
pascal@pn2035929:~/projects/paraview-superbuild_build$ gcc --version
gcc (Ubuntu 11.4.0-2ubuntu1~20.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

```

and this is from master:

```auto
pascal@pn2035929:~/projects/paraview-superbuild$ git branch
* master
pascal@pn2035929:~/projects/paraview-superbuild$ pwd
/home/pascal/projects/paraview-superbuild

```

What’s the fix for that?

Also, I talked to Cory at SC last week about this, and he recommended the superbuild as well. He showed me where BLOSC was but it seems that [SZ](https://szcompressor.org/) is not available in paraview yet. This

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [November 22, 2023, 4:51pm UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/15 "2023-11-22T16:51:27Z")

</div>

Unless you want to package ParaView yourself, I’d suggest using your system qt.

---

<div class="post-metadata">

### Author: ![zetwal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/zetwal/32/8506_2.png) [@zetwal](https://discourse.paraview.org/u/zetwal)
#### Post date: [November 22, 2023, 5:25pm UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/16 "2023-11-22T17:25:56Z")

</div>

It worked with the system qt

---

<div class="post-metadata">

### Author: ![zetwal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/zetwal/32/8506_2.png) [@zetwal](https://discourse.paraview.org/u/zetwal)
#### Post date: [December 5, 2023, 10:48pm UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/17 "2023-12-05T22:48:59Z")

</div>

I am now trying to use the superbuild. What is the correct way to include blosc?

blosc was build in superbuild and find adding find\_package(blosc) results in

```auto
Could not find a package configuration file provided by "blosc" with any of
  the following names:

    bloscConfig.cmake
    blosc-config.cmake

```

as the latter do not exist in install/share

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.paraview.org/u/ben.boeckel)
#### Post date: [December 6, 2023, 12:47am UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/18 "2023-12-06T00:47:38Z")

</div>

`blosc` seems to only have a `.pc` file. See ADIOS2’s Find module here: [https://github.com/ornladios/ADIOS2/blob/master/cmake/FindBlosc2.cmake](https://github.com/ornladios/ADIOS2/blob/master/cmake/FindBlosc2.cmake)

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.paraview.org/u/ben.boeckel)
#### Post date: [December 6, 2023, 12:51am UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/19 "2023-12-06T00:51:28Z")

</div>

Oh, this is relevant for Blosc2 (being added to the superbuild [here](https://gitlab.kitware.com/paraview/paraview-superbuild/-/merge_requests/1138)).

---

<div class="post-metadata">

### Author: ![zetwal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/zetwal/32/8506_2.png) [@zetwal](https://discourse.paraview.org/u/zetwal)
#### Post date: [December 14, 2023, 6:28pm UTC](https://discourse.paraview.org/t/plugin-development-commit/12742/20 "2023-12-14T18:28:54Z")

</div>

GenericIO is relying on Blosc1, which it seems will be kept, which is good.

So, I now have find.cmake modules that works (for blosc: [https://gitlab.kitware.com/pascal/paraview/-/blob/dev/Plugins/GenericIOReader/cmake/FindBlosc.cmake?ref\_type=heads](https://gitlab.kitware.com/pascal/paraview/-/blob/dev/Plugins/GenericIOReader/cmake/FindBlosc.cmake?ref_type=heads)) and I’m testing using the superbuild. However, how do I automatically get the path to the install folder (paraview-superbuild\_build/install) where the libraries are built?

Also, GenericIO uses SZ too. So, I made find.cmake module for SZ (using the one provided by Cmake failed to link against zstd though I pointed it to the superbuild’s version of zstd when I built SZ) but now I need ParaView to get and build the SZ compressor. How do I do that?

[Next page](https://discourse.paraview.org/t/plugin-development-commit/12742.md?page=2)
