50 lines
1.5 KiB
CMake
50 lines
1.5 KiB
CMake
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/card.c
|
|
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)
|