如何在 cmake 上获取库的完整本机名称?

2024-01-31

我需要将构建的库的本机名称(libfoo.so 或 foo.dll)传递给 add_custom_command。

如何获取目标的完整库名称?

该财产LOCATION有它但有完整的路径。属性 OUTPUT_NAME 不返回任何内容。


您可以使用生成器表达式$<TARGET_FILE_NAME:tgt>, where tgt是目标的逻辑 CMake 名称。

Example:

add_library(myLib a.cpp)
add_custom_command(
  OUTPUT someOutput
  COMMAND myProcessor --input $<TARGET_FILE_NAME:myLib> --output someOutput
  # ...
)

有关生成器表达式的更多信息,请参阅的文档add_custom_command() http://www.cmake.org/cmake/help/v2.8.10/cmake.html#command:add_custom_command(对于 CMake 2.x)或专用生成器表达式文档 https://cmake.org/cmake/help/latest/manual/cmake-generator-expressions.7.html(对于 CMake 3+)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 cmake 上获取库的完整本机名称? 的相关文章

随机推荐