Hi Stefan.

I'm currently testing the MITK extension. I created an almost empty project
as you suggested . To be more specific, a "Modules" folder with an
empty MITK_MODULES list, and a "Plugins" with an empty MITK_PLUGINS list.
The simple fact of adding this extension to  MITK_EXTENSION_DIRS starts a
full compilation again. There's no ITK, no dependencies, no nothing!
Reading your last email, you seem to say that this full recompilation is
not normal. Can you please confirm?

Nil

Le ven. 9 avr. 2021, à 04 h 49, Dinkelacker, Stefan <
s.dinkelac...@dkfz-heidelberg.de> a écrit :

> Hi,
>
>
> the project template (or generally speaking an "MITK extension") can be
> built just like plain MITK, there is nothing extra or separate script/code
> paths in our build scripts. That's the cool thing about the project
> template/MITK extensions. It mirrors the MITK directory structure and all
> the magic happens within the MITK build system, not the project template
> build system. It basically works by following path and filename
> conventions. It is virtually like forking the MITK repository and adding
> dependencies, modules, plugins, applications, and build configurations
> right to the MITK repo, but with the advantage that you do not have to
> touch the original repo but have an extra directory/repo for your own stuff
> that is "mounted" into the MITK directory.
>
>
> Notice that the project template is full of examples/demos that you do not
> need for your own stuff. Their purpose is to show how things are supposed
> to be done and that it is just like you would do stuff right in the MITK
> directory. One of the examples is that even the configurations of a few
> MITK-dependencies like ITK can be modified from an extension [1]. And this
> is why MITK was basically rebuilt completely when you added the
> ProjectTemplate itself to MITK_EXTENSION_DIRS since ITK as a core
> dependency needed a rebuild.
>
>
> Since you already have all your stuff and just want to migrate, start with
> an empty directory instead of the project template and just use the project
> template as an example-based manual/inspiration.
>
>
> For example, a minimum start could be to simple create a Modules folder,
> put a ModuleList.cmake in it and reference your first module [2]. That's
> all you need to add a module to MITK. When you then add your root directory
> to MITK_EXTENSION_DIRS (you can also do this in the MITK-build, not only
> in the MITK-superbuild as long as you do not change anything on
> superbuild-level), MITK will look for a Modules/ModuleList.cmake files not
> only in its own root directory but in all extension dirs and handle it just
> like its own Modules/ModuleList.cmake file.
>
>
> Best,
>
> Stefan
>
>
> [1]
> https://github.com/MITK/MITK-ProjectTemplate/blob/master/CMakeExternals/Customization/ITK.cmake
>
> [2] https://github.com/MITK/MITK-ProjectTemplate/tree/master/Modules
>
>
> ------------------------------
> *Von:* Nil Goyette <nil.goye...@imeka.ca>
> *Gesendet:* Freitag, 9. April 2021 04:19
> *An:* Dinkelacker, Stefan
> *Cc:* mitk-users@lists.sourceforge.net
> *Betreff:* Re: [mitk-users] PluginGenerator and ProjectTemplate
>
> Hi Stefan,
> I'm still unable to generate the solution, with Qt5.12 or Qt5.15, with or
> without a reference to MitkAppUtil, with or without a
> "find_package(Qt5WebEngine REQUIRED)".. I get the same error as before.
> This being said, I think I need to clarify the framework/library thing
> before we go further. If I understand correctly:
>
>    - MITK as a framework. Should use the ProjectTemplate and link to this
>    template in the MITK superbuild.
>    - MITK as a library.. Use our own cmake and link to MITK build dir.
>
> In our case, we use the standard MITK UI and features, we pick some useful
> MITK plugins and add some of our own. This is a "framework" usage, right? I
> tried the ProjectTemplate approach once and what I really disliked is that
> it recompiled MITK in full when I told cmake the MITK_EXTENSION_DIRS to
> my project. This is not compatible with our build system where we build
> MITK once and use the build artifacts to build our own project fast. Do you
> have a solution for this?
> Nil
>
> Le mer. 7 avr. 2021, à 06 h 59, Dinkelacker, Stefan <
> s.dinkelac...@dkfz-heidelberg.de> a écrit :
>
>> 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> 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>
>>> *Gesendet:* Donnerstag, 1. April 2021 21:51
>>> *An:* 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
>>>
>>
> During this time of social distancing, we offer free webinars on subjects
> that matter. <https://www.imeka.ca/webinars/>
>
> 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.
>


-- 
Nil Goyette
Développeur principal
www.imeka.ca

-- 
During this time of social distancing, we offer free webinars on subjects 
that matter. <https://www.imeka.ca/webinars/>

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