[IGSTK-Developers] IGSTK main library-sandbox cross build system
Andinet Enquobahrie
andinet.enqu at kitware.com
Fri Jan 13 21:39:35 EST 2006
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
>>
>
More information about the IGSTK-Developers
mailing list