Replace setjmp with libco, update aurora

This commit is contained in:
dbalatoni13 2025-04-24 03:33:35 +02:00 committed by Dávid Balatoni
parent b05b70d6b7
commit 824af61fbb
38 changed files with 601 additions and 805 deletions

View file

@ -28,7 +28,7 @@ elseif (MSVC)
add_compile_options(/bigobj)
endif ()
add_compile_options(-fsanitize=address)
# add_compile_options(-fsanitize=address)
add_subdirectory(extern/aurora EXCLUDE_FROM_ALL)
add_subdirectory(extern/musyx EXCLUDE_FROM_ALL)
@ -146,17 +146,12 @@ if (NOT MSVC)
endforeach ()
endif ()
add_library(dol SHARED ${DOLPHIN_FILES} ${GAME_FILES} ${PORT_FILES})
add_library(dol SHARED ${DOLPHIN_FILES} ${GAME_FILES} ${PORT_FILES} extern/libco/libco.c)
target_compile_definitions(dol PRIVATE TARGET_PC NON_MATCHING TARGET_DOL VERSION=${VERSION} MUSY_VERSION_MAJOR=1 MUSY_VERSION_MINOR=5 MUSY_VERSION_PATCH=4)
target_include_directories(dol PRIVATE include build/GMPE01_00/include)
target_include_directories(dol PRIVATE include build/GMPE01_00/include extern/libco)
target_link_libraries(dol PRIVATE aurora::core aurora::gx aurora::si aurora::vi aurora::pad musyx)
set_source_files_properties(${DOLPHIN_FILES} ${GAME_FILES} PROPERTIES COMPILE_OPTIONS "-fsanitize=address")
if (MSVC)
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
enable_language(ASM_MASM)
target_sources(dol PRIVATE extern/longjmp_win64/longjmp_win64.asm)
set_source_files_properties(extern/longjmp_win64/longjmp_win64.asm PROPERTIES LANGUAGE ASM_MASM)
endif ()
target_link_options(dol PRIVATE "/DEF:${CMAKE_SOURCE_DIR}/dol.def")
target_compile_options(dol PRIVATE "/Zi")
target_compile_options(dol PRIVATE "/Ob0")
@ -184,11 +179,12 @@ foreach (dir ${REL_DIRS})
if (REL_FILES)
add_library(${dir} SHARED ${REL_FILES})
set_source_files_properties(${REL_FILES} PROPERTIES COMPILE_OPTIONS "-fsanitize=address")
if (dir MATCHES "^w..Dll")
target_sources(${dir} PRIVATE src/REL/board_executor.c)
endif()
target_compile_definitions(${dir} PRIVATE TARGET_PC NON_MATCHING VERSION=${VERSION})
target_include_directories(${dir} PRIVATE include build/GMPE01_00/include)
target_include_directories(${dir} PRIVATE include build/GMPE01_00/include extern/libco)
if (MSVC)
set_target_properties(${dir} PROPERTIES LINK_FLAGS "/EXPORT:ObjectSetup")
target_compile_options(${dir} PRIVATE "/Zi")