[IGSTK-Developers] IGSTK main library-sandbox cross build system

Stephen R. Aylward Stephen.Aylward at Kitware.com
Fri Jan 13 18:12:54 EST 2006


Looks good.

Some ideas:
1) The IGSTK subdir in the sandbox should replicate the directory 
structure of IGSTK.  That is, the sandbox/IGSTK dir should not be a flat 
directory just in case the same filename is used in different IGSTK subdirs.

2) With this process - do we need the rest of the sandbox?   Couldn't 
the entire sandbox be put into the sandbox/IGSTK subdir.   Then code 
review would just go thru the files in the sandbox/IGSTK subdir.

Stephen

Andinet Enquobahrie wrote:
> Folks,
> 
> On the tcon yesterday, we discussed the need for IGSTK main 
> library-sandbox cross build system which accomodates changes to the main 
> library.
> The main motivations behind such a build system are
> 
>  1. Expedite development and testing of new classes in the sandbox  
> which require minor (light-weight) modification of the main library
>  2. Enforce minor changes in the main library to pass through the 
> regular review process
> 
> To implement this scheme, we will be using cmake language capability. 
> The envisaged implementation is as follows
> 
>  1. IGSTK subdirectory will be created in the Sandbox
>  2. The developer who is interested in making minor modifications to a  
> particular file in the main library, will make a copy this file to
>     the IGSTK subdirectory.
>  3. CMake file in the sandbox is modified so that
>        3.1  The build system checks if there are any files in the IGSTK  
> sub-directory.
>        3.2. If there are files in the IGSTK subdirectory, a new IGSTK 
> library will be generated. To generate this new IGSTK main library
>              3.2.1. All source files in the main library except the ones 
> with new versions in the IGSTK subdirectory of the Sandbox and source 
> files in the IGSTK subdirectory are
>                        used.
>              3.2.2. If modified header files exist in the IGSTK 
> subdirectory of the sandbox, then these modified header are included 
> before the header files in the
>                        main library during compilation.
>        3.3  If there are no files in the IGSTK subdirectory, the 
> already-built IGSTK library will be used.
> 
> How does this cross-build system affect bug fix process?
> 
> If bug fixes are made on files that are not currently in the IGSTK 
> subdirectory, then there will not be a change in the process. However, 
> if bug fixes are made on files that are
> currently in the IGSTK subdirectory, then the developer who fixs bugs in 
> the main library is responsible to make the corresponding changes to the 
> version in the IGSTK
> subdirectory of the Sandbox.
> 
> How does this cross-build system affect code review process?
> 
> During our regular code review process for release, the new version of 
> the IGSTK main library programs stored in the IGSTK subdirectory will be 
> reviewed in addition to
> the new files in the sandbox.
> 
> Please, let me have your comments.
> 
> Thanks
> 
> -Andinet
> 
> PS: By the way, I have posted this message in its entirety to the wiki...
> 
> http://public.kitware.com/IGSTKWIKI/index.php/Main_library-sandbox_cross-build_system 
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> IGSTK-Developers mailing list
> IGSTK-Developers at public.kitware.com
> http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers
> 

-- 
=============================================================
Stephen R. Aylward, Ph.D.
Chief Medical Scientist
Kitware, Inc.
http://www.kitware.com



More information about the IGSTK-Developers mailing list