[CMake] whole archive linkage

Stephen Kelly steveire at gmail.com
Sat Jan 24 09:56:09 EST 2015


Adam wrote:

> I was hoping there might have been a better way to do this with target
> properties of legacyLib.
> 

There is with cmake 3.1:

 set(isExe $<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>)
 target_sources(legacyLib INTERFACE 
  "$<${isExe}:${CMAKE_CURRENT_SOURCE_DIR}/use_symbol.cpp>")

LegacyLib provides a simple source file which gets compiled into executables 
linking to it, and the source file invokes the singleton or whatever.

This kind of use-case was the primary motivation for target_sources.

 http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/7082

Thanks,

Steve.




More information about the CMake mailing list