Add yasm support CMake modules

for-marcan
Hector Martin 2011-03-12 18:55:18 +01:00
parent 8cac161d85
commit e12491493f
4 changed files with 40 additions and 0 deletions

View File

@ -22,6 +22,12 @@ cmake_minimum_required(VERSION 2.6)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/Modules/")
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(BITS 64)
else()
set(BITS 32)
endif()
find_package(Threads REQUIRED)
find_package(JACK REQUIRED)
find_package(Qt4)

View File

@ -0,0 +1,27 @@
set(ASM_DIALECT "_YASM")
set(CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS asm)
if(UNIX)
if(BITS EQUAL 64)
set(CMAKE_ASM_YASM_COMPILER_ARG1 "-f elf64 -DARCH_X86_64")
else()
set(CMAKE_ASM_YASM_COMPILER_ARG1 "-f elf32")
endif()
else()
if(BITS EQUAL 64)
set(CMAKE_ASM_YASM_COMPILER_ARG1 "-f win64 -DARCH_X86_64")
else()
set(CMAKE_ASM_YASM_COMPILER_ARG1 "-f win32")
endif()
endif()
# This section exists to override the one in CMakeASMInformation.cmake
# (the default Information file). This removes the <FLAGS>
# thing so that your C compiler flags that have been set via
# set_target_properties don't get passed to yasm and confuse it.
if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT)
set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> -o <OBJECT> <SOURCE>")
endif()
include(CMakeASMInformation)
set(ASM_DIALECT)

View File

@ -0,0 +1,4 @@
set(ASM_DIALECT "_YASM")
set(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT ${_CMAKE_TOOLCHAIN_PREFIX}yasm)
include(CMakeDetermineASMCompiler)
set(ASM_DIALECT)

View File

@ -0,0 +1,3 @@
set(ASM_DIALECT "_YASM")
include(CMakeTestASMCompiler)
set(ASM_DIALECT)