diff --git a/configure_options.cmake b/configure_options.cmake
index 849231c..ceb6539 100644
--- a/configure_options.cmake
+++ b/configure_options.cmake
@@ -79,6 +79,7 @@ elseif(TARGET_PLATFORM STREQUAL X86_64)
elseif(TARGET_PLATFORM MATCHES X86.*)
if(MSVC)
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)
else()
list(APPEND SOURCES_LIST src/x86/sysv.S)
@@ -329,13 +330,17 @@ foreach(ASM_PATH IN LISTS WIN_ASSEMBLY_LIST)
set_source_files_properties("${CMAKE_BINARY_DIR}/${ASM_FILENAME}.asm" PROPERTIES GENERATED TRUE)
- add_custom_command(
- 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")
+ if(TARGET_PLATFORM MATCHES X86.*)
+ list(APPEND SOURCES_LIST ${CMAKE_BINARY_DIR}/${ASM_FILENAME}.asm)
+ else()
+ add_custom_command(
+ 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()