2016-11-18 105 views
2

有誰知道如何將FASM支持添加到CMake?我試過一本原創指南here,但它對我不起作用。如何添加FASM支持到CMake

+2

'我已經試過了原來的蒞臨指導,但它並不適用於me.'工作 - 精心製作的,**究竟**不起作用。 – Tsyvarev

+0

我只是犯了一個錯誤 - 忘記在我的系統的PATH變量中包含fasm的路徑。我是新來的,所以我應該在這裏發佈一個完整的解決方案? – alexfsx

回答

4

所以,我設法在我的CMake\share\cmake-3.7\Modules\目錄(我使用Windows)說here添加三個文件:

  • 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")