Fix Win32 and Win64 MASM build

This commit is contained in:
Adeel
2020-01-07 07:39:08 +02:00
parent 92080f42b9
commit 9b1d010c3c
2 changed files with 13 additions and 8 deletions
+12 -7
View File
@@ -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()
+1 -1
View File
@@ -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