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

Andinet Enquobahrie andinet.enqu at kitware.com
Fri Jan 13 13:44:39 EST 2006


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 











More information about the IGSTK-Developers mailing list