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