I can say that in my particular case, in order to be able to
successfully run compiled binaries from the build directory it is
necessary to have a broad variety of files in a sane position relative
to the compiled binary.  So far as I know, the only way I can do this
in systems that like to have multiple binary output locations is to
copy the files in question to their proper locations ahead of time
*for each possible configuration*.  Ouch.  And even that may not quite
be enough, depending on the specifics of the layouts in question.

My current work-around is to peg all of the output directories for all
the active configurations to the same directory - that negates much of
the benefit of multiple-configuration IDE options, but does at least
result in the expected run-from-build-directory behavior.  (It works
for MSVC - we apparently have too many targets or something for
XCode...)  You have to switch configs and re-build just like with Make
files, but that's the tradeoff currently required for being able to
run in the build directory.

Cheers,
CY

On Sun, Jan 8, 2012 at 4:08 PM, Michael Jackson
<mike.jack...@bluequartz.net> wrote:
> This is going to sound either harsh or "flame bait" but is written in all 
> seriousness and with a lot of practical experience.
>
>  When coming from a "makefile" based system like Unix and going to Visual 
> Studio there are a few things you need to "give up on" (In my opinion). 
> Visual Studio (And Xcode) both like to separate build types into 
> Debug/Release/Others and put those items compiled into those subfolders. If 
> you try to have your output files put anywhere else you are endlessly 
> "fighting the system" and in the you will waste more time trying to fight the 
> system rather then working on your code. Unless you have a very valid reason 
> why your built items MUST be in the binary folder then I wouldn't really 
> worry where they land. Let Visual Studio or Xcode put them where they want. 
> You only need to realize that there _are_ Debug and Release subfolders and it 
> is in there that you will find your executables and libraries. This is said 
> with about 3 or 4 years of working with Linux, OS X, Windows, Visual Studio, 
> Xcode, Makefiles. Don't fight the system, just adapt to it and move on.
>
>  I guess that was harsh. Sorry. Having said that I am very interested in 
> knowing the specific reasons why you need your executables in the 
> CMAKE_BINARY_DIRECTORY and can not have them in a subfolder.
> --
> Mike Jackson <www.bluequartz.net>
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to