如何为 CMake 添加 FASM 支持

How to add FASM support to CMake

有谁知道如何添加 FASM support to CMake? I've tried an original guide here ,但它对我不起作用。

所以,我设法在我的 CMake\share\cmake-3.7\Modules\ 目录中添加了三个文件 here(我正在使用 Windows):

  • CMakeDetermineASM_FASMCompiler.cmake :

    set(ASM_DIALECT "_FASM")
    set(CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST fasm)
    include(CMakeDetermineASMCompiler)
    set(ASM_DIALECT)
    
  • CMakeTestASM_FASMCompiler.cmake:

    set(ASM_DIALECT "_FASM")
    include(CMakeTestASMCompiler)
    set(ASM_DIALECT)
    
  • CMakeASM_FASMInformation.cmake:

    set(ASM_DIALECT "_FASM")
    set(CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS s;asm)
    set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <SOURCE> <OBJECT>")
    include(CMakeASMInformation)
    set(ASM_DIALECT)
    

不要忘记将 FASM 目录包含到您的 Path 变量中

而且它工作得很好!

@alexfsx 的答案非常有效,不要忘记将 enable_language(ASM_FASM) 添加到 CMakeLists.txt 中。在这种情况下,最好将 *.cmake 文件放在项目中,例如cmake 子文件夹并将其添加到模块搜索路径:

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")