CMake/Assembler: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
(Replace content with link to new CMake community wiki)
 
(27 intermediate revisions by 12 users not shown)
Line 1: Line 1:
==Introduction==
{{CMake/Template/Moved}}
Since version 2.6.0 CMake has basic support for using assembler source files in CMake projects.
Assembler is different from other languages in that it actually is no single language, but there are many different assembler languages.
CMake supports a generic "ASM" language and specialized "ASM_XXX" languages for assembler "dialects".


Currently supported:
This page has moved [https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/languages/Assembler here].
* ASM-ATT (since 2.6.0)
* ASM_MASM (since 2.6.3)
 
==Supported Assembler Dialects==
 
===Generic ASM===
 
This serves as base for the different assembler dialects.
* Supported assembler names: defaults to as, gas, may have toolchain specific prefix. This can be overriden by setting CMAKE_ASM_COMPILER before enabling the ASM language.
* Supported source files extensions: defaults to .s, .S, .asm. This can be overriden by setting CMAKE_ASM_SOURCE_FILE_EXTENSIONS before enabling the ASM language.
* The variables which define the commands for compiling and linking files,  CMAKE_ASM_COMPILE_OBJECT, CMAKE_ASM_CREATE_(STATIC_LIBRARY|SHARED_LIBRARY|SHARED_MODULE), CMAKE_ASM_LINK_EXECUTABLE, default to gas behaviour. They can be overridden by setting them before enabling the ASM language.
* Involved files: CMakeASMInformation.cmake, CMakeDetermineASMCompiler.cmake, CMakeTestASMCompiler.cmake
 
===ASM-ATT===
 
This can be used for assembler files in AT&T assembler syntax. This includes the GNU assembler gas.
* Supported assembler names: as, gas, may have toolchain specific prefix
* Supported source files extensions: .s, .S, .asm
* Involved files: CMakeASM-ATTInformation.cmake, CMakeDetermineASM-ATTCompiler.cmake, CMakeTestASM-ATTCompiler.cmake
 
===ASM_MASM===
 
This is support for the Microsoft assembler.
 
* Supported assembler names: ml, ml64
* Supported source files extensions: .asm
* Involved files: CMakeASM_MASMInformation.cmake, CMakeDetermineASM_MASMCompiler.cmake, CMakeTestASM_MASMCompiler.cmake
 
==How to add support for other assembler "dialects"==

Latest revision as of 15:40, 30 April 2018


The CMake community Wiki has moved to the Kitware GitLab Instance.

This page has moved here.