[CMake] Directing cmake to link against shared object with debug postfix (_d)

Olumide 50295 at web.de
Wed Apr 12 10:49:05 EDT 2017


Thanks Volker.

I wonder if its possible to do go with the Robert's original suggestion:

set(Libraries
     ContinuumTransfunctioner${CMAKE_DEBUG_POSTFIX}
     Transmogrifier${CMAKE_DEBUG_POSTFIX}
)

But set on debug build set CMAKE_DEBUG_POSTFIX. For example:

## Does not work
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
	SET(CMAKE_DEBUG_POSTFIX "_d")
endif

if (CMAKE_BUILD_TYPE STREQUAL "Release")
	SET(CMAKE_DEBUG_POSTFIX "")
endif

Regards,

- Olumide


On 12/04/2017 12:56, Volker Enderlein wrote:
> Am 12/04/2017 um 13:28 schrieb Olumide:
>> set(Libraries
>>     ContinuumTransfunctioner${CMAKE_DEBUG_POSTFIX}
>>     Transmogrifier${CMAKE_DEBUG_POSTFIX}
>> )
> Hi,
>
> you could add the configuration for a single library dependency.
>
> target_link_libraries(your_target
>
> debug ContinuumTransfunctioner${CMAKE_DEBUG_POSTFIX}
>
> optimized ContinuumTransfunctioner
>
> debug Transmogrifier${CMAKE_DEBUG_POSTFIX}
>
> optimized Transmogrifier
>
> )
>
> you could also put that into a variable and reference that later
>
> set(Libraries
>
> debug ContinuumTransfunctioner${CMAKE_DEBUG_POSTFIX}
>
> optimized ContinuumTransfunctioner
>
> debug Transmogrifier${CMAKE_DEBUG_POSTFIX}
>
> optimized Transmogrifier
>
> )
>
> target_link_libraries(your_target ${Libraries})
>
>
> Hope that helps, Cheers, Volker
>
>



More information about the CMake mailing list