Merge topic 'AddASM_NASMSupport'
e0b6016
Some more fixes for nasm support, from Etienne (#10069)d25c2eb
Use CMAKE_ASM_NASM_FLAGS for nasm instead of FLAGSe614e9b
Add support for yasm, a nasm compatible assembler79dd9be
We already have 2010, fix copyright year.ffeca06
Add missing copyright headers7b337ac
Improve misleading comments.e1fc9b9
Add support for nasm assembler, patch by Peter Collingbourne (see #10069)
This commit is contained in:
commit
fa882bb570
|
@ -0,0 +1,46 @@
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Copyright 2010 Kitware, Inc.
|
||||||
|
#
|
||||||
|
# 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.)
|
||||||
|
|
||||||
|
# support for the nasm assembler
|
||||||
|
|
||||||
|
set(CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS nasm asm)
|
||||||
|
|
||||||
|
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()
|
||||||
|
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> <FLAGS> -f ${CMAKE_ASM_NASM_OBJECT_FORMAT} -o <OBJECT> <SOURCE>")
|
||||||
|
|
||||||
|
# Load the generic ASMInformation file:
|
||||||
|
set(ASM_DIALECT "_NASM")
|
||||||
|
include(CMakeASMInformation)
|
||||||
|
set(ASM_DIALECT)
|
|
@ -0,0 +1,27 @@
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Copyright 2010 Kitware, Inc.
|
||||||
|
#
|
||||||
|
# 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.)
|
||||||
|
|
||||||
|
# Find the nasm assembler. yasm (http://www.tortall.net/projects/yasm/) is nasm compatible
|
||||||
|
|
||||||
|
SET(CMAKE_ASM_NASM_COMPILER_INIT nasm yasm)
|
||||||
|
|
||||||
|
IF(NOT CMAKE_ASM_NASM_COMPILER)
|
||||||
|
FIND_PROGRAM(CMAKE_ASM_NASM_COMPILER nasm
|
||||||
|
"$ENV{ProgramFiles}/NASM")
|
||||||
|
ENDIF(NOT CMAKE_ASM_NASM_COMPILER)
|
||||||
|
|
||||||
|
# Load the generic DetermineASM compiler file with the DIALECT set properly:
|
||||||
|
SET(ASM_DIALECT "_NASM")
|
||||||
|
INCLUDE(CMakeDetermineASMCompiler)
|
||||||
|
SET(ASM_DIALECT)
|
|
@ -13,10 +13,10 @@
|
||||||
# License text for the above reference.)
|
# License text for the above reference.)
|
||||||
|
|
||||||
# This file is used by EnableLanguage in cmGlobalGenerator to
|
# This file is used by EnableLanguage in cmGlobalGenerator to
|
||||||
# determine that that selected ASM-ATT compiler can actually compile
|
# determine that the selected ASM-ATT "compiler" works.
|
||||||
# and link the most basic of programs. If not, a fatal error
|
# For assembler this can only check whether the compiler has been found,
|
||||||
# is set and cmake stops processing commands and will not generate
|
# because otherwise there would have to be a separate assembler source file
|
||||||
# any makefiles or projects.
|
# for each assembler on every architecture.
|
||||||
|
|
||||||
SET(ASM_DIALECT "-ATT")
|
SET(ASM_DIALECT "-ATT")
|
||||||
INCLUDE(CMakeTestASMCompiler)
|
INCLUDE(CMakeTestASMCompiler)
|
||||||
|
|
|
@ -13,10 +13,11 @@
|
||||||
# License text for the above reference.)
|
# License text for the above reference.)
|
||||||
|
|
||||||
# This file is used by EnableLanguage in cmGlobalGenerator to
|
# This file is used by EnableLanguage in cmGlobalGenerator to
|
||||||
# determine that that selected ASM compiler can actually compile
|
# determine that the selected ASM compiler works.
|
||||||
# and link the most basic of programs. If not, a fatal error
|
# For assembler this can only check whether the compiler has been found,
|
||||||
# is set and cmake stops processing commands and will not generate
|
# because otherwise there would have to be a separate assembler source file
|
||||||
# any makefiles or projects.
|
# for each assembler on every architecture.
|
||||||
|
|
||||||
IF(CMAKE_ASM${ASM_DIALECT}_COMPILER)
|
IF(CMAKE_ASM${ASM_DIALECT}_COMPILER)
|
||||||
SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_WORKS 1 CACHE INTERNAL "")
|
SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_WORKS 1 CACHE INTERNAL "")
|
||||||
ELSE(CMAKE_ASM${ASM_DIALECT}_COMPILER)
|
ELSE(CMAKE_ASM${ASM_DIALECT}_COMPILER)
|
||||||
|
|
|
@ -14,9 +14,9 @@
|
||||||
|
|
||||||
# This file is used by EnableLanguage in cmGlobalGenerator to
|
# This file is used by EnableLanguage in cmGlobalGenerator to
|
||||||
# determine that the selected ASM_MASM "compiler" (should be masm or masm64)
|
# determine that the selected ASM_MASM "compiler" (should be masm or masm64)
|
||||||
# can actually "compile" and link the most basic of programs. If not, a
|
# works. For assembler this can only check whether the compiler has been found,
|
||||||
# fatal error is set and cmake stops processing commands and will not generate
|
# because otherwise there would have to be a separate assembler source file
|
||||||
# any makefiles or projects.
|
# for each assembler on every architecture.
|
||||||
|
|
||||||
SET(ASM_DIALECT "_MASM")
|
SET(ASM_DIALECT "_MASM")
|
||||||
INCLUDE(CMakeTestASMCompiler)
|
INCLUDE(CMakeTestASMCompiler)
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Copyright 2010 Kitware, Inc.
|
||||||
|
#
|
||||||
|
# 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.)
|
||||||
|
|
||||||
|
# This file is used by EnableLanguage in cmGlobalGenerator to
|
||||||
|
# determine that the selected ASM_NASM "compiler" works.
|
||||||
|
# For assembler this can only check whether the compiler has been found,
|
||||||
|
# because otherwise there would have to be a separate assembler source file
|
||||||
|
# for each assembler on every architecture.
|
||||||
|
|
||||||
|
SET(ASM_DIALECT "_NASM")
|
||||||
|
INCLUDE(CMakeTestASMCompiler)
|
||||||
|
SET(ASM_DIALECT)
|
Loading…
Reference in New Issue