Note that you can enable ASM
in the project()
command too. For example:
project(abc
LANGUAGES C CXX ASM)
문제
I've set
set(CAN_USE_ASSEMBLER TRUE)
And it's not helping at all. I'm trying to create a static library with a command like:
add_library(${CMAKE_PROJECT_NAME} STATIC
../PropWare ../spi ../spi_as.S ../sd)
where the files without extensions are C++ or C files and the .S file is assembly. But when I run cmake and make, it compiles the C/C++ sources and just ignores the assembly file... no warnings, no errors... just skips right over it.
I'd love any ideas. Full source is available on github (do note: this link is to the cmake branch, all others should be ignored). The first line is in this file and the second line is in this file.
해결책 2
Note that you can enable ASM
in the project()
command too. For example:
project(abc
LANGUAGES C CXX ASM)
다른 팁
See this better answer https://stackoverflow.com/a/67902603/2784641
It's not always possible to know what languages you need enabled at the time that the project()
command is invoked... but probably 99.9% of the time it is, so go with this route. If, however, you need to programmatically enable different languages, based on some configure-time logic, then my original answer will work for you.
Finally found it. Instead of
set(CAN_USE_ASSEMBLER TRUE)
I should have used
enable_language(ASM)
When using gcc, you can compile .S
files with your C compiler (no explicit invocation of asm needed). CMake can be told to do so using
set_property(SOURCE <myfile>.S PROPERTY LANGUAGE C)
for each of your .S
files. Then they got compiled in...