[IGSTK-Developers] IGSTK main library-sandbox cross build system
David Gobbi
dgobbi at atamai.com
Sat Jan 14 11:52:38 EST 2006
--- Andinet Enquobahrie <andinet.enqu at kitware.com> wrote:
> Hi David,
>
> If we decide to merge together the IGSTK and Sandbox libraries into one
> , I agree with you and Stephen that the Sandbox should preferably have a
> skeleton copy of the whole IGSTK directory structure in the Sandbox.
>
> However, you also mentioned that
>
> > 3. Merges would be easier to accomplish, since each file in the
> Sandbox would have an exactly corresponding location in the >IGSTK
> directory structure.
>
> This is not true for the example applications which are currently only
> in the Sandbox. Probably, we should also start moving these applications
> to the IGSTK directory.
>
> -Andinet
The application directories do have a corresponding place IGSTK: in the Examples directory.
The skeleton approach still works, we just need to allow the Sandbox to contain directories that
aren't yet in IGSTK, in the same way that the Sandbox can contain files which aren't yet in IGSTK.
The understanding is that these directories will be moved to IGSTK after review, just like the
files are.
- David
> >Hi Andinet,
> >
> >I'm with Stephen. I added comments similar to his on the Wiki before I read my email this
> >morning:
> >
> >http://public.kitware.com/IGSTKWIKI/index.php/Main_library-sandbox_cross-build_system
> >
> > - David
> >
> >
> >--- Andinet Enquobahrie <andinet.enqu at kitware.com> wrote:
> >
> >
> >
> >>Hi Stephen,
> >>
> >>Thank you for your comments...
> >>
> >>
> >>
> >>>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.
> >>>
> >>>
> >>If I am not wrong, the bug fixes and feature adds are implemented only
> >>in the source and header files in the IGSTK/Source subdirectory. Hence,
> >>we won't have a file name collision problem.
> >>
> >>
> >>
> >>>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.
> >>>
> >>>
> >>>
> >>>
> >>I take it when you say the "entire sandbox", you are referring to the
> >>files in Sandbox/Source subdirectory ( We have also Example applications
> >>in the Sandbox). This can be done. I just thought that keeping them
> >>separate would be cleaner and also CMake can easily decide whether it
> >>will need to generate a new IGSTK library or not by just checking if
> >>there are any files in the IGSTK subdirectory. If there are no files in
> >>the subdirectory, already-built IGSTK lib will be linked to the Sandbox
> >>library.
> >>
> >>-Andinet
> >>
> >>
> >>
> >>>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
> >>>>
> >>>>
> >>>>
> >>_______________________________________________
> >>IGSTK-Developers mailing list
> >>IGSTK-Developers at public.kitware.com
> >>http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers
> >>
> >>
> >>
> >
> >
> >
> >
> >
>
>
>
More information about the IGSTK-Developers
mailing list