Imported Upstream version 1.4+222+hg5f9f7194267b
[deb_x265.git] / source / cmake / CMakeASM_YASMInformation.cmake
CommitLineData
72b9787e
JB
1set(ASM_DIALECT "_YASM")
2set(CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS asm)
3
4if(X64)
b53f7c52
JB
5 list(APPEND ASM_FLAGS -DARCH_X86_64=1)
6 if(ENABLE_PIC)
7 list(APPEND ASM_FLAGS -DPIC)
8 endif()
72b9787e
JB
9 if(APPLE)
10 set(ARGS -f macho64 -m amd64 -DPREFIX)
11 elseif(UNIX AND NOT CYGWIN)
12 set(ARGS -f elf64 -m amd64)
13 else()
14 set(ARGS -f win64 -m amd64)
15 endif()
16else()
17 list(APPEND ASM_FLAGS -DARCH_X86_64=0)
18 if(APPLE)
19 set(ARGS -f macho -DPREFIX)
20 elseif(UNIX AND NOT CYGWIN)
21 set(ARGS -f elf32)
22 else()
23 set(ARGS -f win32 -DPREFIX)
24 endif()
25endif()
26
27if(GCC)
28 list(APPEND ASM_FLAGS -DHAVE_ALIGNED_STACK=1)
29else()
30 list(APPEND ASM_FLAGS -DHAVE_ALIGNED_STACK=0)
31endif()
32
33if(HIGH_BIT_DEPTH)
34 list(APPEND ASM_FLAGS -DHIGH_BIT_DEPTH=1 -DBIT_DEPTH=10)
35else()
36 list(APPEND ASM_FLAGS -DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8)
37endif()
38set(YASM_FLAGS ${ARGS} ${ASM_FLAGS} PARENT_SCOPE)
39string(REPLACE ";" " " CMAKE_ASM_YASM_COMPILER_ARG1 "${ARGS}")
40
41# This section exists to override the one in CMakeASMInformation.cmake
42# (the default Information file). This removes the <FLAGS>
43# thing so that your C compiler flags that have been set via
44# set_target_properties don't get passed to yasm and confuse it.
45if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT)
46 string(REPLACE ";" " " STR_ASM_FLAGS "${ASM_FLAGS}")
47 set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> ${STR_ASM_FLAGS} -o <OBJECT> <SOURCE>")
48endif()
49
50include(CMakeASMInformation)
51set(ASM_DIALECT)