为什么CMake在构建静态库时会忽略汇编文件?

Dav*_*mon 5 assembly cmake static-libraries

我已经定了

set(CAN_USE_ASSEMBLER TRUE)
Run Code Online (Sandbox Code Playgroud)

它根本没有帮助.我正在尝试使用如下命令创建静态库:

add_library(${CMAKE_PROJECT_NAME} STATIC ../PropWare ../spi ../spi_as.S ../sd)
Run Code Online (Sandbox Code Playgroud)

没有扩展名的文件是C++或C文件,而.S文件是程序集.但是当我运行cmake和make时,它会编译C/C++源代码并忽略汇编文件......没有警告,没有错误......只是跳过它.

我喜欢任何想法.github上提供了完整的源代码(请注意:此链接指向cmake分支,其他所有链接都应被忽略).第一行在此文件中,第二行在此文件中.

谢谢,大卫

Dav*_*mon 7

终于找到了.代替

set(CAN_USE_ASSEMBLER TRUE)
Run Code Online (Sandbox Code Playgroud)

我应该用过

enable_language(ASM)
Run Code Online (Sandbox Code Playgroud)


小智 4

ASM请注意,您也可以在project()命令中启用。例如:

project(abc
        LANGUAGES C CXX ASM)
Run Code Online (Sandbox Code Playgroud)