CMakeASM_NASMInformation.cmake 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. # file Copyright.txt or https://cmake.org/licensing for details.
  3. # support for the nasm assembler
  4. set(CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS nasm asm)
  5. if(NOT CMAKE_ASM_NASM_OBJECT_FORMAT)
  6. if(WIN32)
  7. if(DEFINED CMAKE_C_SIZEOF_DATA_PTR AND CMAKE_C_SIZEOF_DATA_PTR EQUAL 8)
  8. set(CMAKE_ASM_NASM_OBJECT_FORMAT win64)
  9. elseif(DEFINED CMAKE_CXX_SIZEOF_DATA_PTR AND CMAKE_CXX_SIZEOF_DATA_PTR EQUAL 8)
  10. set(CMAKE_ASM_NASM_OBJECT_FORMAT win64)
  11. else()
  12. set(CMAKE_ASM_NASM_OBJECT_FORMAT win32)
  13. endif()
  14. elseif(APPLE)
  15. if(DEFINED CMAKE_C_SIZEOF_DATA_PTR AND CMAKE_C_SIZEOF_DATA_PTR EQUAL 8)
  16. set(CMAKE_ASM_NASM_OBJECT_FORMAT macho64)
  17. elseif(DEFINED CMAKE_CXX_SIZEOF_DATA_PTR AND CMAKE_CXX_SIZEOF_DATA_PTR EQUAL 8)
  18. set(CMAKE_ASM_NASM_OBJECT_FORMAT macho64)
  19. else()
  20. set(CMAKE_ASM_NASM_OBJECT_FORMAT macho)
  21. endif()
  22. else()
  23. if(DEFINED CMAKE_C_SIZEOF_DATA_PTR AND CMAKE_C_SIZEOF_DATA_PTR EQUAL 8)
  24. set(CMAKE_ASM_NASM_OBJECT_FORMAT elf64)
  25. elseif(DEFINED CMAKE_CXX_SIZEOF_DATA_PTR AND CMAKE_CXX_SIZEOF_DATA_PTR EQUAL 8)
  26. set(CMAKE_ASM_NASM_OBJECT_FORMAT elf64)
  27. else()
  28. set(CMAKE_ASM_NASM_OBJECT_FORMAT elf)
  29. endif()
  30. endif()
  31. endif()
  32. if(NOT CMAKE_ASM_NASM_COMPILE_OBJECT)
  33. set(CMAKE_ASM_NASM_COMPILE_OBJECT "<CMAKE_ASM_NASM_COMPILER> <INCLUDES> <FLAGS> -f ${CMAKE_ASM_NASM_OBJECT_FORMAT} -o <OBJECT> <SOURCE>")
  34. endif()
  35. # Load the generic ASMInformation file:
  36. set(ASM_DIALECT "_NASM")
  37. include(CMakeASMInformation)
  38. set(ASM_DIALECT)