[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