Cmake 将生成器表达式与添加依赖项一起使用

Cmake 将生成器表达式与添加依赖项一起使用,cmake,Cmake,我有一个名为Foo.Compile的目标,它构建了我的主程序 add_executable(Foo.Compile ...) 然后我有一个名为Foo.Process的实用程序目标,它依赖于已经构建的可执行文件并执行一些操作 add_custom_target(Foo.Process) add_dependencies(Foo.Process Foo.Compile) 但我只希望它在发布版本中运行,因为它很慢。因此,我创建了一个名为Foo的新目标,这是用户实际构建的。在发布版本中,这应取决于F

我有一个名为
Foo.Compile
的目标,它构建了我的主程序

add_executable(Foo.Compile ...)
然后我有一个名为
Foo.Process
的实用程序目标,它依赖于已经构建的可执行文件并执行一些操作

add_custom_target(Foo.Process)
add_dependencies(Foo.Process Foo.Compile)
但我只希望它在发布版本中运行,因为它很慢。因此,我创建了一个名为
Foo
的新目标,这是用户实际构建的。在发布版本中,这应取决于
Foo.Process
,但在其他配置中则不应如此。所以我想我可以做到这一点:

add_custom_target(Foo)
add_dependencies(Foo $<$<CONFIG:Release>:Foo.Process>)
添加自定义目标(Foo)
添加依赖项(Foo$)
但这给了我一个错误:

  The dependency target "$<$<CONFIG:Release>:Foo.Process>" of
  target "Foo" does not exist.
的依赖项目标“$”

目标“Foo”不存在。
问题似乎是
add_dependencies
不支持生成器表达式,所以我想我应该使用
target_link_库
,我知道它支持生成器表达式。但是,这给了我一个错误,您不能将
target\u link\u库
用于公用事业项目

请注意,我不能使用
if(CMAKE\u BUILD\u TYPE==Release)
,因为我需要支持像VisualStudio这样的多配置生成器,所以我认为我必须使用生成器表达式

我该怎么办