0

这是我们在 CMake 文档中找到的自定义命令:

add_custom_command(
  TARGET foo POST_BUILD
  COMMAND someHasher -i "$<TARGET_FILE:myExe>"
                     -o "$<TARGET_FILE:myExe>.hash"
  VERBATIM)

假设.hash我想用 . 替换任何现有扩展名,而不是添加.hash. 我需要一些方法来剥离扩展名$<TARGET_FILE:myExe>......我应该怎么做?我能比成熟的正则表达式匹配做得更好吗?

4

1 回答 1

2

(由于@KamilCuk)

使用TARGET_FILE_BASE_NAME,像这样:

add_custom_command(
  TARGET foo POST_BUILD
  COMMAND someHasher -i "$<TARGET_FILE:myExe>"
                     -o "$<TARGET_FILE_BASE_NAME:myExe>.hash"
  VERBATIM)
于 2021-12-29T20:50:48.590 回答