On Monday, May 13, 2013 02:30:32 PM Brad King wrote:
> On 05/13/2013 02:07 PM, Robert Dailey wrote:
> > Actually now that I think about this a littler closer, changing the
> > generator expressions may not work for a specific case I'm blocked on.
> > 
> > I store my third party library binaries in a "debug" and "release"
> > directories. I have a custom target that I define to copy the
> > appropriate debug or release DLLs to the appropriate output
> > directories, so that when I debug my applications, they find the
> > appropriate DLLs in the same directory. So the copy mapping should be
> > as follows:
> > 
> > debug -> Debug
> > release -> Release
> > release -> RelWithDebInfo
> > release -> MinSizeRel
> > 
> > Specifically for the RELEASE case. I can't use $<CONFIGURATION> for
> > the source directory, since the name is "release" between all 3
> > release configurations. This case is easily solved with issue 9974,
> > however. Any thoughts?
> 
> This looks like the common use case I explain here:
> 
>  http://www.cmake.org/Bug/view.php?id=9974#c29033
> 
> You don't need any new features for it.

To avoid the copy step, would it be useful to make generator expressions work 
in target properties?

set_target_properties(mylib PROPERTIES
  LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIGURATION>/lib")
set_target_properties(myexe PROPERTIES
  RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIGURATION>/bin")

Currently, I can have more code than that to loop over 
CMAKE_CONFIGURATION_TYPES and set those properties myself, and it results in 
the libraries and executables being together without a copy step and without 
an extra config directory separating them.

Clint
--

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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to