[CMake] Source file symlinks on out-of-source builds

Michael Jackson mike.jackson at bluequartz.net
Thu Dec 3 13:35:35 EST 2009


_________________________________________________________
Mike Jackson                  mike.jackson at bluequartz.net
BlueQuartz Software                    www.bluequartz.net
Principal Software Engineer                  Dayton, Ohio

On Dec 3, 2009, at 1:18 PM, Rodolfo Schulz de Lima wrote:

> Michael Jackson wrote:
>> I'll throw a "no" vote on that but what I would like to hear is some
>> more detail from Rodolfo explaining why he thinks he needs this? Have
>> you tried embedding the build directory inside the source directory?
>> Some of us use this type of setup and it seems to work really nicely
>> with IDEs, Text Editors, and the terminal?
>
> Hi Michael, I've already replied with some 'details' you wanted.
> About this idea of creating the build directory inside the source
> directory, how this makes things better other than always referencing
> the source files with "../<source>"?
>
> Regards,
> Rodolfo Lima
>

I guess those of us that use IDEs like Visual Studio, Eclipse,  
NetBeans, Xcode, CobeBlocks, QtCreator may not see the issue you are  
trying to solve. In each of those programs you can simply "right- 
click" on a variable, Class name, or include file and "Jump To  
Definition". I would think Emacs has some sort of plugin or script or  
something that can emulate this type of behavior. I do agree that if  
you are relegated to a terminal only environment (common on HPC  
machines) then out of source builds can be "interesting" at times but  
the benefits, at least for me, out weigh the disadvantages:
   Source Code Control: You don't have build products interspersed in  
the source code which then causes you to put all sorts of "ignore"  
rules for your SCM system
   Is the build "really clean" - Wanna make sure your project is  
completely cleaned of build products, just wipeout the build  
directory. Too many times on an "autoconf" system there are left over  
files that get missed and end up screwing up subsequent builds.
   Backups - If you stick to a consistent naming scheme telling your  
favorite backup program to ignore the build directory is simple.


Respectfully
Mike Jackson


More information about the CMake mailing list