[IGSTK-Developers] New build system

Julien Jomier jjomier at cs.unc.edu
Fri Jan 20 14:12:10 EST 2006


Andinet,

I think I've it working nicely now, I haven't checked it in yet.

So here's how it works:

There is a Sandbox/IGSTK directory now with a Source and Testing 
directories (I haven't done Utilities because I don't think we need it).

a) All the source files from IGSTK/Source are copied unless there is a 
duplicate in Sandbox/IGSTK/Source. A library named IGSTKLatest is 
created from the copied files and the ones in Sandbox/IGSTK/Source.

b) A new project is created called igstkLatestTests from the actual 
files in the IGSTK/Testing directory (just a link). If a test is 
duplicated in Sandbox/IGSTK/Testing then this test is used instead. This 
project links indeed with IGSTKLatest instead of the IGSTK library.

The sandbox doesn't refer to any main IGSTK libraries or header files 
now. This design allows to modify the correct files when debugging.

David, Luis, Stephen, please let me know if you think this is an ok 
solution. I'll try on linux to see how it goes and check it in if there 
is no objection.

Julien

Andinet Enquobahrie wrote:
> Hi Julien,
> 
>> We create an IGSTK directory in the sandbox (Sandbox/IGSTK) that 
>> copies the file structure of the main IGSTK repository. The idea is to 
>> copy all the source from IGSTK to Sanbox-bin (using CMake) except the 
>> files that are in Sandbox/IGSTK (and subdirectories). We then compile 
>> the IGSTK library inside the sandbox. But there is no duplicate of the 
>> files at that point. Do you foresee any issues in doing that?
> 
> This looks like a better idea...hopefully you wont have a problem 
> setting the correct include directory path. Give it a shot and let us 
> know if it solves your problem..
> 
> thanks,
> 
> -Andinet
> 
> 
> 
> 
> 
>>
>>
>>
>> Andinet Enquobahrie wrote:
>>
>>>> Let me see if I understand correctly what we are trying to do.
>>>> We want to make sure that we have enough flexibility to modify the 
>>>> main IGSTK source code, so basically what we need to do in the 
>>>> Sandbox is to create a new IGSTK library (not using the main one) 
>>>> with some possible modified files.
>>>
>>>
>>>>
>>>> I agree with the proposed solution to copy files from the main IGSTK 
>>>> source directory into the Sandbox binary directory and replace with 
>>>> possible duplicate files that are in Sandbox. Using this approach 
>>>> David is right and the compiler will refer to the copied files but 
>>>> only for the main IGSTK files and not the sandbox (that's the 
>>>> problem I'm having right now).
>>>
>>>
>>> Oh..ok...your problem is with the ones in the Sandbox...here is what 
>>> you can do...
>>>
>>> After modifying the file in the sandbox,  all you need to do is
>>>
>>> make depend
>>>
>>> the copy of the file in the binary directory will be automatically 
>>> updated (at least I hope :)... Give it a shot and let me know if it 
>>> works
>>>
>>> -Andinet
>>>
>>>
>>>
>>>>
>>>> Let me know if I'm missing something,
>>>>
>>>> Julien
>>>>
>>>> Andinet Enquobahrie wrote:
>>>>
>>>>> Julien Jomier wrote:
>>>>>
>>>>>> Andinet,
>>>>>>
>>>>>> I'm trying the new build system and there is a major drawback to 
>>>>>> it. Using Visual Studio, when the compiler finds an error it 
>>>>>> reports to the newly created files in the binary directory and not 
>>>>>> the actual files in the source directory. Therefore debugging is a 
>>>>>> pain.
>>>>>>
>>>>>> I think you are copying the file just to merge the tests. Maybe we 
>>>>>> can keep them separated...
>>>>>
>>>>>
>>>>>
>>>>> Julien,
>>>>>
>>>>> Yes, I understand the pain. We knew about this issue while agreeing 
>>>>> on this build system.. In fact, here is what David wrote about it ....
>>>>>
>>>>>> The big issue is that debuggers would find the copies of the 
>>>>>> files, not the originals, and
>>>>>> developers would have to be aware of that fact.
>>>>>
>>>>>
>>>>>
>>>>> We had to settle on this solution just because it was better than 
>>>>> the other suggested ideas. Please, refer to the email exchanges on 
>>>>> this matter for the suggested ideas...
>>>>>
>>>>> I am open to other solutions...Let me know if you think of one...
>>>>>
>>>>>
>>>>> -Andinet
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>> Julien
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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