reactos/sdk/lib/crt/ucrtsupport.cmake

81 lines
1.8 KiB
CMake
Raw Normal View History

list(APPEND UCRTSUPP_SOURCE
${CRT_FLOAT_SOURCE}
${CRT_MATH_SOURCE}
misc/amsg.c
misc/purecall.c
misc/tls.c
wine/cpp.c
wine/except.c
wine/undname.c
)
list(APPEND UCRTSUPP_ASM_SOURCE
${CRT_FLOAT_ASM_SOURCE}
${CRT_MATH_ASM_SOURCE}
${CRT_SETJMP_ASM_SOURCE}
${CRT_WINE_ASM_SOURCE}
)
if(ARCH STREQUAL "i386")
list(APPEND UCRTSUPP_SOURCE
except/i386/CxxHandleV8Frame.c
wine/except_i386.c
)
list(APPEND UCRTSUPP_ASM_SOURCE
except/i386/__CxxFrameHandler3.s
except/i386/chkesp.s
wine/rosglue_i386.s
)
if(MSVC)
list(APPEND UCRTSUPP_ASM_SOURCE
except/i386/cpp.s
except/i386/prolog.s
)
endif()
elseif(ARCH STREQUAL "amd64")
list(APPEND UCRTSUPP_SOURCE
wine/except_x86_64.c
)
if(MSVC)
list(APPEND UCRTSUPP_ASM_SOURCE
except/amd64/cpp.s
)
endif()
elseif(ARCH STREQUAL "arm")
list(APPEND UCRTSUPP_SOURCE
wine/except_arm.c
)
if(MSVC)
list(APPEND UCRTSUPP_ASM_SOURCE
except/arm/cpp.s
)
endif()
elseif(ARCH STREQUAL "arm64")
list(APPEND UCRTSUPP_SOURCE
wine/except_arm64.c
)
endif()
add_asm_files(ucrtsupp_asm ${UCRTSUPP_ASM_SOURCE})
add_library(ucrtsupport ${UCRTSUPP_SOURCE} ${ucrtsupp_asm})
target_link_libraries(ucrtsupport chkstk ${PSEH_LIB})
target_compile_definitions(ucrtsupport PRIVATE
__UCRTSUPPORT__
CRTDLL
_MSVCRT_LIB_
_MSVCRT_
_MT
USE_MSVCRT_PREFIX
__MINGW_IMPORT=extern
__fma3_lib_init=__acrt_initialize_fma3
set_terminate=_wine_set_terminate
terminate=_wine_terminate
_get_terminate=_wine_get_terminate
unexpected=_wine_unexpected
__pxcptinfoptrs=_wine__pxcptinfoptrs
)
#add_pch(crt precomp.h)
add_dependencies(ucrtsupport psdk asm)