Hi Nil,

I really cannot reproduce your issues and looking at the CMake code I do not 
even see a possibility/code path that could lead to the behavior you describe. 
It is equivalent to saying "adding a new MITK module directly to MITK without 
any dependencies to other modules triggers a whole rebuild of MITK" or even 
"regenerating MITK in CMake without any modifications triggers a whole rebuild 
of MITK", it just doesn't make any sense to me. So I guess there must be a 
fundamental difference in how we understand the MITK extension feature. As it 
is hard to accurately describe what you do differently, it would help if you 
could maybe screen record your issue and show at the beginning, that the MITK 
solution was built successfully, before adding the extension?


(2) It's right though, that when adding modules or other stuff that you have to 
reconfigure/generate MITK which takes probably longer than just 
configuring/generating a completely separate project of course. Using MITK 
Whitelists can help here so that the build system only sees the modules you are 
actually using, instead of trying to build everything that's possible with the 
current set of satisfied dependencies.


(3) While MITK's own projects reside in the MITK root folder in Visual Studio, 
extensions reside in their own Visual Studio Solution root folder (see attached 
example screenshot)


(4) Again, a strong (third) indicator that there's something fundamentally 
different in your approach.


(5) I admit it is a bit hidden but there's CMake variables to tell MITK not to 
require "MITK" prefixes. For example, setting MITK_MODULE_NAME_PREFIX in your 
ModuleList.cmake will set another default prefix for modules then "Mitk". For 
plugins, you can set your own prefix template by adding something like the 
following to your PluginList.cmake: list(APPEND MITK_PLUGIN_REGEX_LIST 
"^org_imeka_[a-zA-Z0-9_]+$").


(6) The main motivation of all this is that there shouldn't be any pain points. 
:-) In particular you said that you are not used to CMake and writing new CMake 
files is a hurdle for you. That's a perfect reason to use the extension 
mechanism instead.


Fingers crossed

Stefan





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

Hi Stefan,

Still no success. I deleted everything and started from a fresh build. Adding 
an "empty" project to  MITK_EXTENSION_DIRS does start a new MITK build. 
Removing it does the same thing. Once it's added, I can add modules and plugins 
without full compilation though. This being said, I see some problems with MITK 
extensions that I want to share with you:

  1.  This full recompilation problem is incompatible with our automated build 
system. I understand that it shouldn't happen, but it does happen.
  2.  Changing something in the extension (our project) takes much longer than 
usual because Visual Studio now checks the complete MITK project instead of our 
tiny project.
  3.  The Solution explorer only contains the MITK projects and dependencies.
  4.  Visual Studio doesn't seem to understand what's going on. There's no 
help, no intellisense, no nothing.
  5.  We must name our plugins "org.mitk.xyz<http://org.mitk.xyz>" otherwise 
cmake tells us that it's an invalid symbolic name. We already have our plugin 
names starting with org.imeka because we want to recognize them.
  6.  I didn't get further than that but I feel that there will be more 
pain-points. Possibly the branding (name and icon of the final application).

I think it's best if we avoid this extension feature., so I'll ask something 
new. Is there an up-to-date (2021.02) project that uses MITK as a library OR a 
minimal working example of such a thing?
I'm not used to cmake at all. I can modify existing cmake files but creating 
new ones for a new project is a big chore. Being able to read and copy such an 
exemple will greatly help me and probably some other users too.

During this time of social distancing, we offer free webinars on subjects that 
matter.<https://www.imeka.ca/webinars/>
[https://www.imeka.ca/app/uploads/2021/03/logo-imeka-nom-10years-dark-fond-blanc-e1616690355918.png]
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