CMake 开启/使用 NASM 编译汇编代码 配置
CMake使用一例,并设置使用NASM汇编器,编译asm 64位汇编代码
cmake_minimum_required(VERSION 3.2)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_ASM_NASM_SOURCE_FILE_EXETENSIONS asm) #启用汇编文件后缀
ENABLE_LANGUAGE(ASM_NASM)
set(CMAKE_ASM_NASM_FLAGS "-f elf64") #使用64位汇编 linux默认nasm使用32位
set(CMAKE_ASM_NASM_OBJECT_FORMAT elf64)
#设置NASM编译时的选项
set(CMAKE_ASM_NASM_COMPILE_OBJECT "<CMAKE_ASM_NASM_COMPILER> <INCLUDES> \
<FLAGS> -f ${CMAKE_ASM_NASM_OBJECT_FORMAT} -o <OBJECT> <SOURCE>")
message("### echo ${CMAKE_ASM_NASM_COMPILER}")
。。。。。。
file(GLOB_RECURSE SERVICE_SRC ./*.cpp ./*.hpp ./*.cc ./*.c ./*.asm) #递归搜索所有 .asm 文件加入
。。。。。。
set(SOURCES ${SOURCES} ${SERVICE_SRC} ${PROVER_SRC} ${TOOLS_SRC} ${gen_protos})
add_executable(${PROJECT_NAME} ${SOURCES} ) #加入程序对象中