如何在cmake上获得库的全本机名称

  • 本文关键字:本机 cmake cmake
  • 更新时间 :
  • 英文 :


我需要传递本机名称(libfoo。因此,将构建库的foo.dll)转换为add_custom_command。

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

属性LOCATION具有它,但具有完整路径。属性OUTPUT_NAME不返回任何东西。

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

的例子:

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

有关生成器表达式的更多信息,请参阅add_custom_command()文档(用于CMake 2.x)或专用生成器表达式文档(用于CMake 3+)。

相关内容

最新更新