[GCC-COMPAT] Add support library for GCC's libsupc++ and libstdc++

__throw_out_of_range_fmt is implemented in libstdc++, but it is needed by libsupc++ and that would mean we would have to link all C++ code to libstdc++.
This commit is contained in:
Timo Kreuzer 2024-03-09 13:13:30 +02:00
parent 486a20dbc4
commit fcbccaa194
6 changed files with 97 additions and 2 deletions

View file

@ -0,0 +1,15 @@
include_directories(
${REACTOS_SOURCE_DIR}/sdk/lib/crt/include)
list(APPEND SOURCE
__mingw_vsprintf.c
__throw_out_of_range_fmt.cpp
StringCchCopyNA.c)
add_library(stdc++compat ${SOURCE})
set_target_cpp_properties(stdc++compat WITH_EXCEPTIONS)
add_dependencies(stdc++compat xdk)
target_link_libraries(stdc++compat libmsvcrt)
remove_target_compile_option(stdc++compat "$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<IN_LIST:cppstl,$<TARGET_PROPERTY:LINK_LIBRARIES>>>>:-nostdinc>")
target_compile_definitions(stdc++compat PRIVATE "$<$<COMPILE_LANGUAGE:CXX>:PAL_STDCPP_COMPAT>")