mirror of
https://github.com/partic2/libffi
synced 2026-11-11 10:37:19 +00:00
Fix Win32 and Win64 MASM build
This commit is contained in:
@@ -74,6 +74,7 @@ elseif(TARGET_PLATFORM STREQUAL X86_64)
|
|||||||
elseif(TARGET_PLATFORM MATCHES X86.*)
|
elseif(TARGET_PLATFORM MATCHES X86.*)
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
list(APPEND WIN_ASSEMBLY_LIST src/x86/sysv_intel.S)
|
list(APPEND WIN_ASSEMBLY_LIST src/x86/sysv_intel.S)
|
||||||
|
set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO")
|
||||||
enable_language(ASM_MASM)
|
enable_language(ASM_MASM)
|
||||||
else()
|
else()
|
||||||
list(APPEND SOURCES_LIST src/x86/sysv.S)
|
list(APPEND SOURCES_LIST src/x86/sysv.S)
|
||||||
@@ -323,6 +324,9 @@ foreach(ASM_PATH IN LISTS WIN_ASSEMBLY_LIST)
|
|||||||
|
|
||||||
set_source_files_properties("${CMAKE_BINARY_DIR}/${ASM_FILENAME}.asm" PROPERTIES GENERATED TRUE)
|
set_source_files_properties("${CMAKE_BINARY_DIR}/${ASM_FILENAME}.asm" PROPERTIES GENERATED TRUE)
|
||||||
|
|
||||||
|
if(TARGET_PLATFORM MATCHES X86.*)
|
||||||
|
list(APPEND SOURCES_LIST ${CMAKE_BINARY_DIR}/${ASM_FILENAME}.asm)
|
||||||
|
else()
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
COMMAND "${CMAKE_ASM_MASM_COMPILER}" /Fo "${CMAKE_CURRENT_BINARY_DIR}/${ASM_FILENAME}.obj" "${CMAKE_BINARY_DIR}/${ASM_FILENAME}.asm"
|
COMMAND "${CMAKE_ASM_MASM_COMPILER}" /Fo "${CMAKE_CURRENT_BINARY_DIR}/${ASM_FILENAME}.obj" "${CMAKE_BINARY_DIR}/${ASM_FILENAME}.asm"
|
||||||
DEPENDS ${CMAKE_BINARY_DIR}/${ASM_FILENAME}.asm
|
DEPENDS ${CMAKE_BINARY_DIR}/${ASM_FILENAME}.asm
|
||||||
@@ -332,4 +336,5 @@ foreach(ASM_PATH IN LISTS WIN_ASSEMBLY_LIST)
|
|||||||
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${ASM_FILENAME}.obj PROPERTIES EXTERNAL_OBJECT TRUE)
|
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${ASM_FILENAME}.obj PROPERTIES EXTERNAL_OBJECT TRUE)
|
||||||
|
|
||||||
list(APPEND OBJECTS_LIST ${CMAKE_CURRENT_BINARY_DIR}/${ASM_FILENAME}.obj)
|
list(APPEND OBJECTS_LIST ${CMAKE_CURRENT_BINARY_DIR}/${ASM_FILENAME}.obj)
|
||||||
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
#cmakedefine01 HAVE_ALLOCA_H
|
#cmakedefine01 HAVE_ALLOCA_H
|
||||||
|
|
||||||
/* Define if your assembler supports .cfi_* directives. */
|
/* Define if your assembler supports .cfi_* directives. */
|
||||||
#cmakedefine01 HAVE_AS_CFI_PSEUDO_OP
|
#cmakedefine HAVE_AS_CFI_PSEUDO_OP
|
||||||
|
|
||||||
/* Define if your assembler supports .register. */
|
/* Define if your assembler supports .register. */
|
||||||
#cmakedefine HAVE_AS_REGISTER_PSEUDO_OP
|
#cmakedefine HAVE_AS_REGISTER_PSEUDO_OP
|
||||||
|
|||||||
Reference in New Issue
Block a user