summaryrefslogtreecommitdiffstats
path: root/Modules/CMakeASM_NASMInformation.cmake
diff options
context:
space:
mode:
authorAlex Neundorf <neundorf@kde.org>2010-09-25 18:57:03 (GMT)
committerAlex Neundorf <neundorf@kde.org>2010-09-25 18:57:03 (GMT)
commite1fc9b902ac737c98ecaf236568d3e685ea3dce1 (patch)
treed28314fdcab124959154232ac520e1422069d770 /Modules/CMakeASM_NASMInformation.cmake
parentf42bae0bd535aa62cd0b6e380251bceb16f75fb0 (diff)
downloadCMake-e1fc9b902ac737c98ecaf236568d3e685ea3dce1.zip
CMake-e1fc9b902ac737c98ecaf236568d3e685ea3dce1.tar.gz
CMake-e1fc9b902ac737c98ecaf236568d3e685ea3dce1.tar.bz2
Add support for nasm assembler, patch by Peter Collingbourne (see #10069)
Alex
Diffstat (limited to 'Modules/CMakeASM_NASMInformation.cmake')
-rw-r--r--Modules/CMakeASM_NASMInformation.cmake30
1 files changed, 30 insertions, 0 deletions
diff --git a/Modules/CMakeASM_NASMInformation.cmake b/Modules/CMakeASM_NASMInformation.cmake
new file mode 100644
index 0000000..2a73aca
--- /dev/null
+++ b/Modules/CMakeASM_NASMInformation.cmake
@@ -0,0 +1,30 @@
+# support for the nasm assembler
+
+set(CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS nasm)
+
+if(WIN32)
+ if(CMAKE_C_SIZEOF_DATA_PTR EQUAL 8)
+ SET(CMAKE_ASM_NASM_OBJECT_FORMAT win64)
+ else()
+ SET(CMAKE_ASM_NASM_OBJECT_FORMAT win32)
+ endif()
+elseif(APPLE)
+ if(CMAKE_C_SIZEOF_DATA_PTR EQUAL 8)
+ SET(CMAKE_ASM_NASM_OBJECT_FORMAT macho64)
+ else()
+ SET(CMAKE_ASM_NASM_OBJECT_FORMAT macho)
+ endif()
+else()
+ if(CMAKE_C_SIZEOF_DATA_PTR EQUAL 8)
+ SET(CMAKE_ASM_NASM_OBJECT_FORMAT elf64)
+ else()
+ SET(CMAKE_ASM_NASM_OBJECT_FORMAT elf)
+ endif()
+endif()
+
+set(CMAKE_ASM_NASM_COMPILE_OBJECT "<CMAKE_ASM_NASM_COMPILER> <FLAGS> -f ${CMAKE_ASM_NASM_OBJECT_FORMAT} -o <OBJECT> <SOURCE>")
+
+# Load the generic ASMInformation file:
+set(ASM_DIALECT "_NASM")
+include(CMakeASMInformation)
+set(ASM_DIALECT)