Dear Stefan,

I ran into the same problem as Nil did concerning the Qt5::WebEngine not found 
error.
I've build version 2021.02 of mitk using the superbuild option and then 
deployed a ProjectTemple using the PuginGenerator.

The Qt5::WebEngine error arises, when compiling the deployed ProjectTemplate. 
And it's the only error I get.
The CmakeLists.txt in the "Apps" folder calls the cmake function 
"mitkFunctionCreateBlueBerryApplication", where it adds MODULE MitkAppUtil to 
the application. (Btw: The line "mitk_use_modules(TARGET ${MY_APP_NAME} MODULES 
MitkAppUtil)" is redundant here because the module is already being added 
inside "mitkFunctionCreateBlueBerryApplication.cmake#103".)

The problem seems to be that the module AppUtil sets its qt dependencies as 
follows "set(qt5_depends Qt5|Widgets+WebEngine)".
You told Nil that the module "infects" the build with this dependency and qt 
does not find the WebEngine lib automatically during superbuild. At least not 
for me and I don't know why that is. It also does not work for me to manually 
declare the Qt5_WebEngine path in cmake. Initially I did not have WebEngine 
downloaded in my qt dir so I had to modify my qt setup after the superbuild was 
already completed once. Maybe that's one potential problem?

Anyway, I had a closer look at the AppUtil module. This module seems to use 
only the includes header "<QWebEngineUrlScheme>", which is part of 
"Qt5WebEngineCore". Since there are no other decencies to WebEngine functions 
at this level I figure that it's not necessary to depend on the entire 
WebEngine module here.

So, changing line 1 in :  
\\MITK2021\src\Modules\AppUtil\CmakeLists.txt<file://MITK2021/src/Modules/AppUtil/CmakeLists.txt>
 from
set(qt5_depends Qt5|Widgets+WebEngine)
to only
set(qt5_depends Qt5|Widgets+WebEngineCore)

seems to fix the issue for me.



From: Dinkelacker, Stefan <s.dinkelac...@dkfz-heidelberg.de>
Sent: Mittwoch, 7. April 2021 13:00
To: Nil Goyette <nil.goye...@imeka.ca>
Cc: mitk-users@lists.sourceforge.net
Subject: Re: [mitk-users] PluginGenerator and ProjectTemplate


Hi,



my first guess is that your executable is infected with this dependency from 
MitkAppUtil, which has a PUBLIC package dependency to WebEngine. Usually CMake 
is right in its assumptions regarding find_package(). So a first step would be 
to do a manual find_package for WebEngine and continue from there. If it still 
cannot be found, but other components of Qt were found, double-check your 
installation and maybe manually look for the Config.cmake file in the lib/cmake 
subfolder of your Qt installation. Since you seem to use MITK as library it is 
hard to make better guesses at the moment. I also did not use Qt 5.15 yet, only 
5.12.



Best,

Stefan

________________________________
Von: Nil Goyette <nil.goye...@imeka.ca>
Gesendet: Dienstag, 6. April 2021 17:21
An: Dinkelacker, Stefan
Cc: mitk-users@lists.sourceforge.net
Betreff: Re: [mitk-users] PluginGenerator and ProjectTemplate

Hi Stefan,

My module wasn't found because I included "MitkTestingHelper" in the wrong 
place. There was no useful error message so I had to guess it.
But now I have another problem and you may be able to help me. The CMake 
Configure part is ok, but when I click on Generate, I get this error

CMake Error at 
C:/Imeka/mitk/CMake/mitkFunctionCreateBlueBerryApplication.cmake:88 
(add_executable):
Target "MI-Brain" links to target "Qt5::WebEngine" but the target was not
found. Perhaps a find_package() call is missing for an IMPORTED target, or
an ALIAS target is missing?
Call Stack (most recent call first):
Apps/MI-Brain/CMakeLists.txt:34 (mitkFunctionCreateBlueBerryApplication)
which is surprising because I don't use or try to include WebEngine. A git grep 
WebEngine returns nothing. And I know and verified that I installed WebEngine 
along with Qt 5.15.X. Do you know what is causing this?

NIl

Le lun. 5 avr. 2021, à 19 h 19, Dinkelacker, Stefan 
<s.dinkelac...@dkfz-heidelberg.de<mailto:s.dinkelac...@dkfz-heidelberg.de>> a 
écrit :

Hi Nil,



you do *not* need to use the ProjectTemplate but it is at least the strongly 
recommended way for new MITK developers to go the framework route with MITK. 
You can still continue using MITK as plain CMake-based toolkit/library. As 
written in T27701, we just want to get rid of the ProjectGeneration part, not 
the PluginGeneration part.



We focus on the ProjectTemplate since we recognized that most of the external 
developers are not primarily developers but scientists and while they usually 
have at least a basic level of knowledge in C++ to get things done, CMake is 
already something different. Using the ProjectTemplate basically means using 
MITK as we do internally (which is a big plus for us regarding support) and 
that people just need to add modules, plugins, or dependencies to an existing 
application backed by examples/templates.



When a module is suddenly missing it is probably related to a missing implicit 
dependency that is not there anymore (we revisited the ITK dependencies of all 
MITK modules in v2021.02 for example). The CMake output / summary should print 
out why a module is missing.



Best,

Stefan









________________________________
Von: Nil Goyette <nil.goye...@imeka.ca<mailto:nil.goye...@imeka.ca>>
Gesendet: Donnerstag, 1. April 2021 21:51
An: mitk-users@lists.sourceforge.net<mailto:mitk-users@lists.sourceforge.net>
Betreff: [mitk-users] PluginGenerator and ProjectTemplate

Hi all,

I tried porting my application to 2121.02 and there's plenty of cmake errors 
because one of my modules is suddenly missing. So I tried using the good old 
PluginGenerator, but  I see that there's a problem with it. It's not built when 
I build MITK. It was decided in T27701<https://phabricator.mitk.org/T27701> to 
get rid of it. I learned that there's a 
ProjectTemplate<https://phabricator.mitk.org/source/mitk-projecttemplate/>. Is 
the old method (our project linking to MITK_BUILD) not working anymore? Can you 
please confirm that we must now use this ProjectTemplate?
--
Nil Goyette
Développeur principal
www.imeka.ca<http://www.imeka.ca>

During this time of social distancing, we offer free webinars on subjects that 
matter.<https://www.imeka.ca/webinars/>
[Image removed by sender.]
CONFIDENTIALITY NOTICE: This message, and any attachments, is intended only for 
the use of the addressee or his authorized representative. It may contain 
information that is privileged, confidential and exempt from disclosure under 
applicable law. If the reader of this message is not the intended recipient, or 
his authorized representative, you are hereby notified that any dissemination, 
distribution or copying of this message and any attachments is strictly 
prohibited. The integrity of this message cannot be guaranteed on the Internet, 
IMEKA shall not be liable for its content if altered, changed or falsified. If 
you have received this message in error, please contact immediately the sender 
and delete this message and any attachments from your system.


AVIS DE CONFIDENTIALITÉ : Ce message, ainsi que tout fichier qui y est joint, 
est destiné exclusivement aux personnes à qui il est adressé. Il peut contenir 
des informations de nature confidentielle qui ne doivent être divulguées en 
vertu des lois applicables. Si vous n'êtes pas le destinataire de ce message ou 
un mandataire autorisé de celui-ci, vous êtes avisé par la présente que toute 
impression, diffusion, distribution ou reproduction de ce message et de tout 
fichier qui y est joint est strictement interdite. L'intégrité de ce message 
n'étant pas assurée sur Internet, IMEKA ne peut être tenue responsable de son 
contenu s'il a été altéré, déformé ou falsifié. Si ce message vous a été 
transmis par erreur, veuillez en aviser sans délai l'expéditeur et l'effacer 
ainsi que tout fichier joint sans en conserver de copie.
_______________________________________________
mitk-users mailing list
mitk-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to