[CMake] Invoking an script from the link command.

Bill Hoffman bill.hoffman at kitware.com
Mon Aug 11 20:54:48 EDT 2008


Óscar Fuentes wrote:
> Bill Hoffman <bill.hoffman at kitware.com>
> writes:
> 
>>> Solved:
>>>
>>> target_link_libraries(myexe "`/path/to/script arg1 arg2`")
>>>
>> This is in general a non-portable way to write cmake files, and is not
>> guaranteed to work in any version of CMake.  This is the same as a
>> pkg-config script.  The way to do this is to use execute_process and
>> collect the output at cmake time, and then use target_link_libraries.
> 
> I just realized another reason why your proposal is not adequate: the
> libraries and the script must be built before the executable, so, at
> cmake time, the libraries and the script does not exists.
> 
> I know this is not portable, but it is intended for POSIX platforms, GNU
> toolchains. As far as cmake does not mess too much with the contents
> passed to target_link_libraries, it should be fine.
> 
Actually, CMake does not guarantee a shell at all for the link line, so 
back tick stuff make break even on a POSIX platform.  Why does this need 
to be run at build time?  I don't even think this will work with cmake 
2.6.0, because we use link scripts.

-Bill


More information about the CMake mailing list