浏览代码

Some more fixes for nasm support, from Etienne (#10069)

Alex
Alex Neundorf 15 年之前
父节点
当前提交
e0b60166d4
共有 1 个文件被更改,包括 19 次插入17 次删除
  1. 19 17
      Modules/CMakeASM_NASMInformation.cmake

+ 19 - 17
Modules/CMakeASM_NASMInformation.cmake

@@ -16,27 +16,29 @@
 
 set(CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS nasm asm)
 
-if(WIN32)
-  if(CMAKE_C_SIZEOF_DATA_PTR EQUAL 8)
-    SET(CMAKE_ASM_NASM_OBJECT_FORMAT win64)
+if(NOT CMAKE_ASM_NASM_OBJECT_FORMAT)
+  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()
-    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)
+    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()
 endif()
 
-set(CMAKE_ASM_NASM_COMPILE_OBJECT "<CMAKE_ASM_NASM_COMPILER> <CMAKE_ASM_NASM_FLAGS> -f ${CMAKE_ASM_NASM_OBJECT_FORMAT} -o <OBJECT> <SOURCE>")
+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")