你问一个例子?这是来自cmake wiki的一个
set(mySrcs foo.c bar.c)
set(can_use_assembler FALSE)
# test wether it is a x86 machine and as/gas is available
if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "i.86")
enable_language(ASM-ATT)
if(CMAKE_ASM-ATT_COMPILER_WORKS)
set(can_use_assembler TRUE)
set(mySrcs ${mySrcs} codec_i86.s)
endif(CMAKE_ASM-ATT_COMPILER_WORKS)
endif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "i.86")
# no assembler found
if(not can_use_assembler)
set(mySrcs ${mySrcs} codec_generic.c)
endif(not can_use_assembler)
add_executable(player ${mySrcs})
由于 CMake 的工作方式,组装和链接在同一步骤中组合在一起(至少从程序员的角度来看)。所以add_executable
自动为你处理一切。
如果您想包含链接器脚本,那么使用 CMake 会变得更加困难。最好的观察地点在这里。由于示例和说明太长,无法在 SO 答案框中复制,因此我将阅读留给您。