[Insight-developers] ITK_BUILD_ALL_MODULES and ITK_BUILD_DEFAULT_MODULES

Bradley Lowekamp blowekamp at mail.nih.gov
Thu Oct 17 13:28:17 EDT 2013


Hello,

Was a patch ever created for this?

What about if the ITK_BUILD_ALL_MODULES variable was deleted/unset after producing the warning?

Brad

On Oct 10, 2013, at 10:14 AM, Xiaoxiao Liu <xiaoxiao.liu at kitware.com> wrote:

> Hi Dirk, 
> 
> If we change from
> if(DEFINED ITK_BUILD_ALL_MODULES)
> to
> if(${ITK_BUILD_ALL_MODULES}), as you suggested, 
> 
> and allow users to turn ${ITK_BUILD_ALL_MODULES} OFF while keep ${ITK_BUILD_DEFAULT_MODULES} being OFF.  It might be confusing as well, because suddenly you have both CMake variables in your CMake Cache for the same purpose but with contradicting values.
> 
> The purpose of the warning is to inform people that they should not use ITK_BUILD_ALL_MODULES any more.  So here is a patch to prompt with 
> clearer message to remove it from the CMake Cache:
> 
> http://review.source.kitware.com/#/c/12975/
> 
> Please let me know whether it make sense.
> Thanks!
> 
> 
> -Xiaoxiao
> 
> 
> 
> 
> 
> On Mon, Oct 7, 2013 at 10:20 AM, Padfield, Dirk R (GE Global Research) <padfield at research.ge.com> wrote:
> Hi Xiaoxiao,
> 
> Thanks for the explanation.  I imagine that many users will have existing trees and will be thrown off by the behavior listed below.  Would there be any negative consequences to changing
> 
> from
> if(DEFINED ITK_BUILD_ALL_MODULES)
> to
> if(${ITK_BUILD_ALL_MODULES})
> 
> The latter seems more intuitive to me and also seems to behave better (according to the behavior I listed below).  It doesn't matter much to me either way, but I thought it might matter to users.
> 
> Thanks,
> Dirk
> 
> 
> ________________________________
> From: Xiaoxiao Liu [xiaoxiao.liu at kitware.com]
> Sent: Friday, October 04, 2013 2:30 PM
> To: Padfield, Dirk R (GE Global Research)
> Cc: <insight-developers at itk.org> Developers
> Subject: Re: [Insight-developers] ITK_BUILD_ALL_MODULES and ITK_BUILD_DEFAULT_MODULES
> 
> Dirk,
> Thanks for reporting.
> Please see my comments below.
> Let me know whether this clarifies.
> Thanks.
> 
> On Fri, Oct 4, 2013 at 1:25 PM, Padfield, Dirk R (GE Global Research) <padfield at research.ge.com<mailto:padfield at research.ge.com>> wrote:
> Hi Developers,
> 
> I have a quick ITK CMake question.  In the file CMake/ITKModuleEnablement.cmake, we find the code
> 
> # To maintain backward compatibility
> if(DEFINED ITK_BUILD_ALL_MODULES)
>   message(WARNING "ITK_BUILD_ALL_MODULES is deprecated, please use ITK_BUILD_DEFAULT_MODULES.")
>   set(ITK_BUILD_DEFAULT_MODULES ${ITK_BUILD_ALL_MODULES} CACHE BOOL "Build the default ITK modules." FORCE)
> endif()
> 
> This has the following behavior:
> 1) If ITK_BUILD_ALL_MODULES is set, ITK_BUILD_DEFAULT_MODULES is also set.
> 2) When the user sees this warning, he/she may turn off ITK_BUILD_MODULES.
> >>> If you start from an existing build tree (which has the old cache entry of "ITK_BUILD_ALL_Modules"), yes, you would
> see this warning. To remove this warning (without cleaninig the entire CMake Cache),  instead of turning OFF "ITK_BUILD_ALL_Modules",  you could just remove it from the CMake cache (on CMake GUI, select the variable and hit "Delete").
> 
> 3) This also turns off the ITK_BUILD_DEFAULT_MODULES
> 4) Since ITK_BUILD_ALL_MODULES is still DEFINED, the warning continues.
> 5) If the user explicitly turns ITK_BUILD_DEFAULT_MODULES back on, it gets turned off again on the next compile
> 6) The only way to get the expected behavior is to keep both of them on, but then the warning continues.
> 
> I believe the intention was instead to use
> if(${ITK_BUILD_ALL_MODULES})
> 
> In this case
> 1) If ITK_BUILD_ALL_MODULES is set, it gives a warning and then sets ITK_BUILD_DEFAULT_MODULES
> 2) The warning is only given when ITK_BUILD_ALL_MODULES is turned on
> 3) If ITK_BUILD_ALL_MODULES is turned off, it has no effect on ITK_BUILD_DEFAULT_MODULES
> 4) ITK_BUILD_DEFAULT_MODULES can be set when ITK_BUILD_ALL_MODULES is turned off
> 
> Thoughts?
> 
> Thanks,
> Dirk
> _______________________________________________
> Powered by www.kitware.com<http://www.kitware.com>
> 
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> 
> Kitware offers ITK Training Courses, for more information visit:
> http://kitware.com/products/protraining.php
> 
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-developers
> 
> 
> 
> --
> 
> 
> ---------------------------------------------
> Xiaoxiao Liu, Ph.D.
> R & D Engineer
> Kitware Inc<http://www.kitware.com/>.
> Clifton Park, NY
> Phone: (518) 881-4924  or  (518) 371-3971 x124
> 
> 
> 
> 
> -- 
> 
> 
> ---------------------------------------------
> Xiaoxiao Liu, Ph.D.
> R & D Engineer
> Kitware Inc.
> Clifton Park, NY
> Phone: (518) 881-4924  or  (518) 371-3971 x124
> 
> _______________________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> 
> Kitware offers ITK Training Courses, for more information visit:
> http://kitware.com/products/protraining.php
> 
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-developers

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-developers/attachments/20131017/6d8c2be5/attachment.htm>


More information about the Insight-developers mailing list