CMakeASM_NASMInformation.cmake 1.45 KB
Newer Older
1 2

#=============================================================================
3
# Copyright 2010 Kitware, Inc.
4 5 6 7 8 9 10 11 12 13 14
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
# (To distribute this file outside of CMake, substitute the full
#  License text for the above reference.)

15 16
# support for the nasm assembler

17
set(CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS nasm asm)
18

19 20 21 22 23 24 25 26 27 28 29 30 31
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()
32
  else()
33 34 35 36 37
    if(CMAKE_C_SIZEOF_DATA_PTR EQUAL 8)
      SET(CMAKE_ASM_NASM_OBJECT_FORMAT elf64)
    else()
      SET(CMAKE_ASM_NASM_OBJECT_FORMAT elf)
    endif()
38 39 40
  endif()
endif()

41
set(CMAKE_ASM_NASM_COMPILE_OBJECT "<CMAKE_ASM_NASM_COMPILER> <FLAGS> -f ${CMAKE_ASM_NASM_OBJECT_FORMAT} -o <OBJECT> <SOURCE>")
42 43 44 45 46

# Load the generic ASMInformation file:
set(ASM_DIALECT "_NASM")
include(CMakeASMInformation)
set(ASM_DIALECT)