[Insight-developers] itkObjectFactoryTest2 and CMake 2.9

Bill Hoffman bill.hoffman at kitware.com
Wed Jan 13 12:00:27 EST 2010


Bill Lorensen wrote:
> But, the old way has been working for a long time. Slicer3 uses
> loadable itk IO factories. That facility is key to support the Slicer3
> execution model.
> 

I think the SHARED was intentional in ITK, as the concept of modules has 
changed in non-backwards compatible ways on the Mac since CMake stared 
to support it.   The MODULE on the Mac creates a loadable module that 
uses the Mac specific API for modules on the Mac.  However, newer Mac 
OS's recommend switching to the unix standard dlopen interface.  CMake 
for backwards compatibility reasons still creates the Mac modules when 
MODULE is used.   However, if you want to use the dlopen interface on 
the Mac, then you use SHARED....  I think it was decided that ITK would 
switch to dlopen on Mac  at some point.


So, this MODULE/SHARED is a whole new/old can of worms on the Mac...  :)

Most likely the change should just be reverted, as ITK "switched" to the 
dlopen style of doing things on the Mac at some point in the past 
(breaking backwards compatibility at that point... :)  ).

-Bill


More information about the Insight-developers mailing list