据我所知,仅通过一个cmake命令是不可能的,除非您使用一些黑客技巧。您可以编写两个CMakeLists.txt,一个用于CUDA代码,另一个用于主机代码。在主机代码文件中,您可以将CUDA内容添加为库。之后,您可以编写一个shell脚本,对每个CMakeLists.txt执行两个命令。我通常使用make来完成此操作。我有两个目标,分别用于CUDA和主机代码,每个目标都编译成一个对象文件。第三个目标执行其他目标,然后将对象文件链接到可执行文件。