Hi,

Caspar answered some of the questions already. I will add some more 
comments.

On 09/24/2012 09:13 PM, Clarkson, Matt wrote:
> Hi there,
>
> I hope I haven't asked this before ... :-)
>
> Our project structure closely resembles the MITK-Project Template
> https://github.com/MITK/MITK-ProjectTemplate
>
> If I wanted to have several apps, where each app has a different selection of 
> plugins ... is this possible?
Yes, this is officially supported and is supposed to "just" work if you 
are relying on the MITK CMake macros.

> I guess it basically means that I need to generate a .provisioning file for 
> each app, with a different load of plugins in each file.
Yes, but you actually rarely need to create a .provisioning file 
yourself. The CMake function

FunctionCreateBlueBerryApplication 
http://docs.mitk.org/nightly-qt4/BlueBerry/reference/api/html/namespaceCMake.html#a9f16f167e718f5d68edf4c12f6ed320c

or specifically

FunctionCreateProvisioningFile (normally called from 
FunctionCreateBlueBerryApplication) 
http://docs.mitk.org/nightly-qt4/BlueBerry/reference/api/html/namespaceCMake.html#a9f16f167e718f5d68edf4c12f6ed320c

does that for you. If you explicitly define a set of plugins to be 
included, you only need to list plugins which are not required by other 
plug-ins already listed. Plugin dependencies will be automatically 
enable in the build system and added to the provisioning file.

> The reason I ask, is that it might be a bit fiddly with things like Mac 
> application structure???
Yes, but we invested quite some time to hide that fact from the users of 
our CMake install macros.

If a plug-in is used by two or more applications, it is shared between 
them on Linux and Windows but gets duplicated during the install process 
on a Mac.

In MITK, we currently have three applications: CoreApp, mitkDiffusion 
and mitkWorkbench

https://github.com/MITK/MITK/tree/master/Applications

See also

https://github.com/MITK/MITK/blob/master/Applications/AppList.cmake

and especially the CMake code starting here

https://github.com/MITK/MITK/blob/master/CMakeLists.txt#L369

the variable MACOSX_BUNDLE_NAMES is important because its contents is 
read in by

https://github.com/MITK/MITK/blob/master/CMake/mitkInstallRules.cmake

which is meant to be included by external projects to get the install 
stuff right. MITK includes that file itself here:

https://github.com/MITK/MITK/blob/master/CMakeLists.txt#L833

- Sascha

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to