2016-11-18 3 views
2

Кто-нибудь знает, как добавить FASM поддержка CMake? Я попробовал оригинальный путеводитель here, но он не работает для меня.Как добавить поддержку FASM для CMake

+2

'Я попробовал оригинальный путеводитель здесь, но это не работает для me.' - Проработанного, ** что именно ** не работает , – Tsyvarev

+0

Я только что ошибся, забыл включить путь в fasm в переменную PATH моей системы. Я новичок здесь, поэтому должен ли я разместить здесь полное решение? – alexfsx

ответ

4

Таким образом, мне удалось добавить три файла, как сказал here в моем CMake\share\cmake-3.7\Modules\ каталоге (я использую 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) 
    

Не забудьте включить каталог ФАПО на свой путь переменной

И это работает корректно!

2

Ответ @alexfsx отлично работает, не забудьте добавить enable_language(ASM_FASM) в CMakeLists.txt. В этом случае также лучше хранить файлы * .cmake с проектом, помещая их, например. cmake вложенных и добавить его к пути поиска модулей:

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