[IGSTK-Developers] IGSTK main library-sandbox cross build system
Andinet Enquobahrie
andinet.enqu at kitware.com
Sat Jan 14 12:21:09 EST 2006
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
>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