[CMake] custom configuration types and linking with 3rd-party libs
cyril_wobow
cyril at wobow.com
Mon Aug 25 09:27:49 EDT 2008
Philip Lowman a écrit :
> On Mon, Aug 25, 2008 at 6:04 AM, Yuri V. Timenkov
> <ytimenkov at parallels.com <mailto:ytimenkov at parallels.com>> wrote:
>
> On Monday 25 August 2008 13:04:56 cyril_wobow wrote:
> > Hi again,
> >
> > At the end of the present mail there is a dirty-but-simple patch for
> > cmComputeLinkDepends.cxx in the cmake sources.
> > It allows to have configuration types like "GuiDebug, GuiRelease,
> > ConsoleDebug, ConsoleRelease" and still have the two debug
> configs be
> > considered as debug (non-optimized) configs, thus link with the
> debug
> > version of 3rd-party libraries.
> >
> > Wondering if this patch could go into cmake trunk, until a better
> > solution is found (like real build configuration semantics).
> Usually, cmake developers suggest file issue into tracker and
> attach patch to
> it.
>
> I also thought about this simple solution. But, for example, we
> had stupid
> configuration name "ReleaseDebug" (It was release one but with
> debugging
> information and without any optimization).
>
> Other examples may include "profile", "coverage" or "maintainer"
> and one users
> may desire to use optimized libs for them, while others debug ones.
>
> The patch will not be much longer if you take into account extra
> list which
> contains names for optimized and debug configurations (You have
> Makefile
> reference with whole set of variables).
>
> Anyways, I think it is good functionality which CMake should have.
>
>
> Does LINK_INTERFACE_LIBRARIES_<CONFIG> do what you want to do?
>
> See
> http://www.cmake.org/HTML/cmake-2.6.html#prop_tgt:LINK_INTERFACE_LIBRARIES
> in conjunction with SET_PROPERTY command.
>
>
> If that works, CMake still could use a way to correlate the "debug" or
> "optimized" target_link_libraries() directives with custom build
> configurations. Perhaps something as simple as.
>
> cmake default:
> SET(CMAKE_DEBUG_CONFIGURATIONS Debug)
> SET(CMAKE_OPTIMIZED_CONFIGURATIONS Release;MinSizeRel;RelWithDebInfo)
> user code:
> LIST(APPEND CMAKE_DEBUG_CONFIGURATIONS Profile Coverage Maintainer)
> LIST(APPEND CMAKE_OPTIMIZED_CONFIGURATIONS SuperOptimized)
>
> --
> Philip Lowman
> ------------------------------------------------------------------------
>
> _______________________________________________
> CMake mailing list
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
Thank you for your answer.
Unfortunately, I don't quite get how to implement your idea :(
Having cmake work on top of the two variables you suggested would be
just great; can you please get more into details?
Regards
Cyril
More information about the CMake
mailing list