reactos/sdk/lib/crt/except/except.cmake
Justin Miller be223b9de7
[SDK] Allow ARM64 MSVC to complete configuration (#4045)
- Add some of the missing CMake adjustments to continue the configure and compile process with ARM64 MSVC
- Created quick stubs for the functions in SDK needed to finish the configuration process
- Put in an ARM64 option for spec2def

CORE-17518 CORE-17615
2021-10-22 18:52:32 +03:00

75 lines
2.1 KiB
CMake

if(ARCH STREQUAL "i386")
list(APPEND LIBCNTPR_EXCEPT_ASM_SOURCE
except/i386/chkstk_asm.s
)
list(APPEND CRT_EXCEPT_ASM_SOURCE
except/i386/chkesp.s
except/i386/prolog.s
)
if(MSVC)
list(APPEND CRT_EXCEPT_ASM_SOURCE
except/i386/cpp.s)
endif()
elseif(ARCH STREQUAL "amd64")
list(APPEND LIBCNTPR_EXCEPT_SOURCE
except/amd64/ehandler.c
)
list(APPEND LIBCNTPR_EXCEPT_ASM_SOURCE
except/amd64/chkstk_ms.s
except/amd64/seh.s
)
list(APPEND CRT_EXCEPT_ASM_SOURCE
except/amd64/seh.s
)
if(MSVC)
list(APPEND CRT_EXCEPT_ASM_SOURCE
except/amd64/cpp.s)
endif()
elseif(ARCH STREQUAL "arm")
list(APPEND LIBCNTPR_EXCEPT_SOURCE
except/arm/ehandler.c
)
list(APPEND LIBCNTPR_EXCEPT_ASM_SOURCE
except/arm/__jump_unwind.s
except/arm/_abnormal_termination.s
except/arm/_except_handler2.s
except/arm/_except_handler3.s
except/arm/_global_unwind2.s
except/arm/_local_unwind2.s
except/arm/chkstk_asm.s
)
list(APPEND CRT_EXCEPT_ASM_SOURCE
except/arm/_abnormal_termination.s
except/arm/_except_handler2.s
except/arm/_except_handler3.s
except/arm/_global_unwind2.s
except/arm/_local_unwind2.s
except/arm/chkstk_asm.s
)
if(MSVC)
list(APPEND CRT_EXCEPT_ASM_SOURCE
except/arm/cpp.s)
endif()
endif()
list(APPEND CRT_EXCEPT_SOURCE
${LIBCNTPR_EXCEPT_SOURCE}
except/stack.c
)
if(ARCH STREQUAL "i386")
list(APPEND CHKSTK_ASM_SOURCE except/i386/chkstk_asm.s)
elseif(ARCH STREQUAL "amd64")
list(APPEND CHKSTK_ASM_SOURCE except/amd64/chkstk_ms.s)
elseif(ARCH STREQUAL "arm")
list(APPEND CHKSTK_ASM_SOURCE except/arm/chkstk_asm.s)
elseif(ARCH STREQUAL "arm64")
list(APPEND CHKSTK_ASM_SOURCE except/arm64/chkstk_asm.s)
endif()
add_asm_files(chkstk_lib_asm ${CHKSTK_ASM_SOURCE})
add_library(chkstk ${CHKSTK_SOURCE} ${chkstk_lib_asm})
set_target_properties(chkstk PROPERTIES LINKER_LANGUAGE "C")
add_dependencies(chkstk asm)