[CMake] Choosing library directories for different build types

Bryan O'Sullivan bos at lindenlab.com
Fri Dec 21 18:06:47 EST 2007


We have two sets of prebuilt libraries that we link against: debug and 
release.  These are organised in debug and release directories outside 
of our source tree.  Typically, the debug and release libraries have the 
same names in each directory.

I can't find a good way to tell cmake that when I want to do a 
RelWithDebInfo build, it should look in the release directory for those 
prebuilt libraries.

The handling of the "debug" and "optimized" keywords for 
TARGET_LINK_LIBRARIES isn't very helpful, as it seems to be aimed at a 
layout with a single directory containing two builds of each library. 
If I specify paths to debug or optimized libraries, they are mangled by 
cmake.  For example, "c:/lib/apr-1.lib" turns into "apr-1", so the 
linker can't find the library any more.  "../../apr-1.lib" is preserved, 
but that hard-codes the tree layout into the build, which I don't like.

What should I be doing here?  I've reached the limit of what I can find 
out by reading the docs and trying experiments.

	<b


More information about the CMake mailing list