[CMake] custom configuration types and linking with 3rd-party libs

cyril_wobow cyril at wobow.com
Wed Aug 27 09:20:39 EDT 2008


Yuri V. Timenkov a écrit :
> On Tuesday 26 August 2008 15:53:31 Philip Lowman wrote:
>   
>> On Mon, Aug 25, 2008 at 9:27 AM, cyril_wobow <cyril at wobow.com> wrote:
>>     
>>> Philip Lowman a écrit :
>>>       
>>>> 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_LIBRARI
>>>> ESin 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)
>>>>
>>>> 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?
>>>       
>> I don't know how to implement it either.  It would likely take some digging
>> through the source and I'm kinda busy this week.
>>     
> I've attached simple patch to issue tracker, please test and review. I'm busy 
> too :(.
>   

Hi Yuri,

I was away yesterday so I tried your patch today. It works as expected 
(except you omitted to call ComputeTargetLinkType() from 
AddTargetLinkEntries()).
I would really love to see that small and efficient enhancement go into 
cmake, even though it is not in cmake's future plans to rely on the 
debug and optimized keywords... The effort is null since the patch is 
ready and has been tested ;) The compatibility with existing projects is 
99.99999%.
This does not prevent the refactoring and rewriting Brad talks about and 
that should is praiseworthy.

Thanks for your time,
Cyril


More information about the CMake mailing list