cmake_minimum_required(VERSION 3.13) project(marioparty4 LANGUAGES C CXX) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 20) 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_PREFIX_PATH /usr) set(CMAKE_LIBRARY_ARCHITECTURE i386-linux-gnu) set(CMAKE_LIBRARY_PATH "/usr/lib32" CACHE PATH "") set(CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX 32) endif () add_subdirectory(extern/aurora EXCLUDE_FROM_ALL) add_subdirectory(extern/musyx EXCLUDE_FROM_ALL) set(DOLPHIN_FILES src/dolphin/os/OSAlloc.c src/dolphin/os/OSArena.c ) set(GAME_FILES src/game/fault.c src/game/frand.c src/game/main.c src/game/malloc.c src/game/memory.c src/game/init.c ) set(PORT_FILES src/port/ar.c src/port/arq.c src/port/dvd.c src/port/imgui.cpp src/port/OS.c src/port/stubs.c ) source_group("Dolphin" FILES ${DOLPHIN_FILES}) source_group("Game" FILES ${GAME_FILES}) source_group("Port" FILES ${PORT_FILES}) add_executable(marioparty4 ${DOLPHIN_FILES} ${GAME_FILES} ${PORT_FILES}) target_compile_definitions(marioparty4 PRIVATE TARGET_PC VERSION=0) target_compile_definitions(musyx PRIVATE MUSY_VERSION_MAJOR=1 MUSY_VERSION_MINOR=5 MUSY_VERSION_PATCH=4) target_include_directories(marioparty4 PRIVATE include) target_link_libraries(marioparty4 PRIVATE aurora::aurora aurora::main musyx)