Linux build fixes

This commit is contained in:
dbalatoni13 2025-04-13 18:32:21 +02:00
parent 236ce75a28
commit 525213367c
19 changed files with 62 additions and 33 deletions

View file

@ -16,24 +16,20 @@ if (NOT CMAKE_BUILD_TYPE)
endif ()
if (CMAKE_SYSTEM_NAME STREQUAL Linux)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unknown-pragmas -Wno-unused-variable -Wno-unused-parameter")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32 -fsanitize=address -fsanitize-address-use-after-scope")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32 -fsanitize=address -fsanitize-address-use-after-scope -Wno-unknown-pragmas -Wno-unused-variable -Wno-unused-parameter")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32 -fsanitize=address -fsanitize-address-use-after-scope -Wno-register")
set(CMAKE_PREFIX_PATH /usr)
set(CMAKE_LIBRARY_ARCHITECTURE i386-linux-gnu)
set(CMAKE_LIBRARY_PATH "/usr/lib32" CACHE PATH "")
set(CMAKE_LIBRARY_PATH "/usr/lib32" "/usr/lib/i386-linux-gnu" CACHE PATH "")
set(CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX 32)
endif ()
if (APPLE)
elseif (APPLE)
add_compile_options(-Wno-declaration-after-statement)
elseif (MSVC)
add_compile_options(/bigobj)
endif ()
add_compile_options(-fsanitize=address)
if (MSVC)
add_compile_options(/bigobj)
endif ()
add_subdirectory(extern/aurora EXCLUDE_FROM_ALL)
add_subdirectory(extern/musyx EXCLUDE_FROM_ALL)
@ -142,10 +138,10 @@ source_group("Port" FILES ${PORT_FILES})
if (NOT MSVC)
foreach (file ${DOLPHIN_FILES})
set_source_files_properties(${file} PROPERTIES COMPILE_FLAGS "-std=c89 -Dinline=")
set_source_files_properties(${file} PROPERTIES COMPILE_FLAGS "-Dinline=")
endforeach ()
foreach (file ${GAME_FILES})
set_source_files_properties(${file} PROPERTIES COMPILE_FLAGS "-std=c89 -Dinline=")
set_source_files_properties(${file} PROPERTIES COMPILE_FLAGS "-Dinline=")
endforeach ()
endif ()
@ -162,7 +158,8 @@ if (MSVC)
endif ()
target_link_options(dol PRIVATE "/DEF:${CMAKE_SOURCE_DIR}/dol.def")
else ()
target_compile_options(dol PRIVATE "-fvisibility=default")
# target_compile_options(dol PRIVATE "-fvisibility=hidden")
# target_link_options(dol PRIVATE "LINKER:--version-script=${CMAKE_CURRENT_SOURCE_DIR}/dol.map")
endif ()
add_executable(marioparty4 src/port/portmain.c)
@ -184,6 +181,11 @@ foreach (dir ${REL_DIRS})
set_target_properties(${dir} PROPERTIES LINK_FLAGS "/EXPORT:ObjectSetup")
else ()
endif ()
if (NOT CMAKE_SYSTEM_NAME STREQUAL Windows)
target_compile_options(${dir} PRIVATE "-fvisibility=hidden")
target_link_options(${dir} PRIVATE "LINKER:--version-script=${CMAKE_CURRENT_SOURCE_DIR}/rel.map")
set_target_properties(${dir} PROPERTIES PREFIX "")
endif ()
target_link_libraries(${dir} PRIVATE dol musyx)
endif ()
endif ()