[CMake] Restrictions on where a binary can be put?

Andreas Pakulat apaku at gmx.de
Sun Jan 9 15:05:21 EST 2011


On 09.01.11 14:24:16, Michael Hertling wrote:
> On 01/09/2011 12:58 PM, Andreas Pakulat wrote:
> > Hi,
> > 
> > I'm having a bit of a problem here changing the runtime output directory
> > for a binary. Its an executable target named 'setup' and I'd like to put it
> > into the top-level directory. Unfortunately it always ends up in the bin/
> > directory, which is what CMAKE_RUNTIME_OUTPUT_DIRECTORY is being set to.
> > 
> > I'm using
> >     set_target_properties( setup PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} )
> > after creating the target currently, which should work as far as I can see
> > from the documentation. Are there maybe any restrictions on what the
> > directory may be or what targets can be put there?
> > 
> > If not, any suggestions how to debug this? I can see that the build.make
> > does already have the rule setup for putting the binary into bin/, so it
> > must be going wrong somewhere in the generation stage, but a simple cmake
> > --trace doesn't show up anything suspicious. Is there a switch to follow
> > the steps that cmake does during makefile-generation?
> 
> Could you provide a minimal but complete example?

Ok, attached case produces the error. Apparently the problem is fetching
the LOCATION property from the target and setting the
RUNTIME_OUTPUT_DIRECTORY afterwards. Looks like a cmake bug to me, so
I'll file a report.

Andreas

-- 
Your reasoning is excellent -- it's only your basic assumptions that are wrong.


More information about the CMake mailing list