Assembly 如何向cmake中的内置程序集文件目标添加依赖关系

Assembly 如何向cmake中的内置程序集文件目标添加依赖关系,assembly,cmake,dependencies,Assembly,Cmake,Dependencies,对于每个源文件,CMake自动创建预处理器和程序集文件生成的目标,例如,对于文件foo.cpp,将有foo.s和foo.i目标。 我想使用现有的.s目标,并将其添加为另一个目标的依赖项,该目标将用于处理该程序集文件。 我试了几招,但没有一个奏效。当我试图访问程序集目标的output file location属性时,CMake抱怨说这样的目标可能不存在 例如: add_library( parse src/parse.cpp ) get_property( parse_asm TARGE

对于每个源文件,CMake自动创建预处理器和程序集文件生成的目标,例如,对于文件
foo.cpp
,将有
foo.s
foo.i
目标。 我想使用现有的
.s
目标,并将其添加为另一个目标的依赖项,该目标将用于处理该程序集文件。 我试了几招,但没有一个奏效。当我试图访问程序集目标的output file location属性时,CMake抱怨说这样的目标可能不存在

例如:

add_library( parse
    src/parse.cpp
)
get_property( parse_asm TARGET src/parse.s PROPERTY LOCATION )
我明白了

但是
提供帮助
列出了其他帮助:

... src/parse.o
... src/parse.i
... src/parse.s
CMake命令与CMake目标一起运行。脚本中没有目标
src/parse.s
。这就是CMake抱怨的原因。
make
的目标是不同的。您可以尝试从结果库文件的路径推断
.s
文件的路径。至于依赖项,来自
.s
文件的依赖项不太可能起作用。相反,您可以从整个库目标中创建依赖项(
parse
... src/parse.o
... src/parse.i
... src/parse.s