Hi, I have followed the following steps to build superbuild:
Install Visual Studio 2019 community with all C++ related tools
Install git bash
I thought I won’t have to install Qt (which is one of the reason to use Superbuild), but without installing Qt I was getting error that Qt5 Dir and Qt5-cmake not found so then I installed Qt
Install Qt 5.15.2 VS2019 (had to add Qt cmake directory path in cmake Qt_Dir)
then I did:
In my Cmake I don’t find USE_SYSTEM_qt options, did I miss something?
I want to create a binary of my custom application and don’t want my user to install Qt or other dependency. So what should I do.
I cinfigure and generate. After this I run ninja. The build is successful, but when I open paraview app which is in:
i get errors. But if I open paraview app in C:\Users\msaad\pv-sup-build\install\bin it works, why are there multiple version?
I did ENABLE_qt5 = ON in cmake_gui (which I opened from VS Native Command x64). But even then it was giving me error that Qt5 Dir and Qt5-cmake not found, so I had to install Qt5 on my system for that.
And even with ENABLE_qt5 I could not see USE_SYSTEM_qt option.
Am I doing something wrong?
Yeah I did that. But then once I build my application binaries and distribute them I don’t want my customers to install Qt and other dependencies (same as when I download Paraview’s binary I don’t have to install anything), how can I do that?
One more question, I think because I created two different question threads it’s confusing me
So just using the simpleparaview superbuild example is enough to generate our own binaries, but in this thread we are talking about building superbuild ourselves on the machine (which is not needed if our goal to create and distribute binaries of our application) so why should one build superbuild on their machines ?
The superbuild is intended to be used for creating redistributable binaries. For ParaView, we have the superbuild repo.
Then paraview-based applications can reuse most of this. The simple pv is an example of how to do that.
Those projects should be build somewhere to get the binaries: either on a CI or on a local machine. And doing that on a local machine make it easier at first place while work is in progress and debug is needed.
Sorry. I got confused. So what I was saying was that do I not need to build paraview-superbuild on my machine and directly use simple pv example and replace simple-paraview with my application. But it wasn’t making sense
To create redistributable binaries: just use a modified version of paraview-based-superbuild-example, this will do all the necessary stuff including download and build paraview itself.
To test and develop a ParaView based application, you need a build version of ParaView, but not necessary from the superbuild. You can just manually install the required dependency and build the ParaView project (see instructions )
So if I use the simple pv example to test it does work but after installation of the binary file of simple pv it creates a bin folder in simpleParaview folder which has all the dll and other paraview files, is there a way to not expose those files to the user.
In short is there a way for user to only access the Application and not the other files?
And secondly, while creating the binary this way, does it link Qt dynamically or statically?