【问题标题】:How to add FASM support to CMake如何将 FASM 支持添加到 CMake
【发布时间】:2016-11-18 22:54:09
【问题描述】:

有人知道如何为 CMake 添加FASM 支持吗?我试过原始指南 here ,但它对我不起作用。

【问题讨论】:

  • I've tried an original guide here , but it doesn't work for me. - 详细说明,究竟是什么不起作用。
  • 我只是犯了一个错误 - 忘记在我的系统的 PATH 变量中包含 fasm 的路径。我是新来的,所以我应该在这里发布一个完整的解决方案吗?

标签: assembly cmake fasm


【解决方案1】:

所以,我设法在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 变量中

而且它工作得很好!

【讨论】:

    【解决方案2】:

    @alexfsx 的回答完美,不要忘记将enable_language(ASM_FASM) 添加到CMakeLists.txt 中。在这种情况下,最好将 *.cmake 文件与项目一起保存,例如将它们放置在项目中。 cmake 子文件夹并将其添加到模块搜索路径中:

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

    【讨论】:

      猜你喜欢
      • 2011-04-07
      • 1970-01-01
      • 2012-09-24
      • 2014-02-10
      • 2017-08-29
      • 1970-01-01
      • 1970-01-01
      • 2013-04-18
      • 2012-03-23
      相关资源
      最近更新 更多