mirror of
https://github.com/partic2/libffi
synced 2026-11-09 17:47:19 +00:00
Fix Win32 and Win64 MASM build
This commit is contained in:
+12
-7
@@ -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,13 +324,17 @@ 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)
|
||||||
|
|
||||||
add_custom_command(
|
if(TARGET_PLATFORM MATCHES X86.*)
|
||||||
COMMAND "${CMAKE_ASM_MASM_COMPILER}" /Fo "${CMAKE_CURRENT_BINARY_DIR}/${ASM_FILENAME}.obj" "${CMAKE_BINARY_DIR}/${ASM_FILENAME}.asm"
|
list(APPEND SOURCES_LIST ${CMAKE_BINARY_DIR}/${ASM_FILENAME}.asm)
|
||||||
DEPENDS ${CMAKE_BINARY_DIR}/${ASM_FILENAME}.asm
|
else()
|
||||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ASM_FILENAME}.obj
|
add_custom_command(
|
||||||
COMMENT "Assembling ${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
|
||||||
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ASM_FILENAME}.obj
|
||||||
|
COMMENT "Assembling ${CMAKE_BINARY_DIR}/${ASM_FILENAME}.asm")
|
||||||
|
|
||||||
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