summaryrefslogtreecommitdiff
path: root/Modules/Compiler
diff options
context:
space:
mode:
authorAlex Neundorf <neundorf@kde.org>2011-01-30 21:03:37 +0100
committerAlex Neundorf <neundorf@kde.org>2011-01-30 21:03:37 +0100
commit4b40d4297aa7b984e9b5fa905cdee21960ec4f8a (patch)
treee880f1e36a8245ac9e6c82a0f96258f5c8a3cca2 /Modules/Compiler
parent9c30d3d230229dbd791bcaf1b57e5bc23350cb30 (diff)
downloadcmake-4b40d4297aa7b984e9b5fa905cdee21960ec4f8a.tar.gz
Rework the way assembler is handled, use the C/CXX compiler by default
This commit changes the way how the assembler support works in cmake. The language "ASM" now always uses the C/Cxx compiler instead of the assembler directly. This fixes #8392, assembler files are not preprocessed. If one wants to use the assembler directly, the specific assembler "dialect" has to be enabled. I.e. to get as/gas, you have to use now ASM-ATT, the same way for ASM_MASM and ASM_NASM. Implemented this now for gcc. SunStudio, IBM, HP and Intel still todo. Alex
Diffstat (limited to 'Modules/Compiler')
-rw-r--r--Modules/Compiler/GNU-ASM.cmake8
1 files changed, 8 insertions, 0 deletions
diff --git a/Modules/Compiler/GNU-ASM.cmake b/Modules/Compiler/GNU-ASM.cmake
new file mode 100644
index 0000000000..93ef724dfe
--- /dev/null
+++ b/Modules/Compiler/GNU-ASM.cmake
@@ -0,0 +1,8 @@
+# This file is loaded when gcc/g++ is used for assembler files (the "ASM" cmake language)
+include(Compiler/GNU)
+
+set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s;asm)
+
+set(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -o <OBJECT> -c <SOURCE>")
+
+__compiler_gnu(ASM)