Split off the DOL to improve the build process
This commit is contained in:
parent
a95def6dc0
commit
54d85f487c
6 changed files with 32 additions and 14 deletions
|
|
@ -8,6 +8,8 @@ endif ()
|
|||
set(CMAKE_C_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
|
||||
set(VERSION 0)
|
||||
|
||||
# Set build type to Debug if not specified
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE Debug)
|
||||
|
|
@ -106,20 +108,28 @@ set_source_files_properties(${file} PROPERTIES COMPILE_FLAGS "-std=c89 -Dinline=
|
|||
endforeach()
|
||||
endif ()
|
||||
|
||||
# set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -rdynamic")
|
||||
|
||||
add_executable(marioparty4 ${DOLPHIN_FILES} ${GAME_FILES} ${PORT_FILES})
|
||||
set_property(TARGET marioparty4 PROPERTY ENABLE_EXPORTS ON)
|
||||
target_compile_definitions(marioparty4 PRIVATE TARGET_PC VERSION=0 TARGET_MAIN)
|
||||
target_compile_definitions(musyx PRIVATE MUSY_VERSION_MAJOR=1 MUSY_VERSION_MINOR=5 MUSY_VERSION_PATCH=4)
|
||||
target_include_directories(marioparty4 PRIVATE include build/GMPE01_00/include)
|
||||
add_library(dol SHARED ${DOLPHIN_FILES} ${GAME_FILES} ${PORT_FILES})
|
||||
target_compile_definitions(dol PRIVATE TARGET_PC 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_link_libraries(dol PRIVATE aurora::core aurora::gx aurora::vi musyx)
|
||||
if (MSVC)
|
||||
target_link_options(marioparty4 PRIVATE "/DEF:${CMAKE_SOURCE_DIR}/dol.def")
|
||||
endif ()
|
||||
target_link_libraries(marioparty4 PRIVATE aurora::core aurora::gx aurora::vi aurora::main musyx)
|
||||
target_link_options(dol PRIVATE "/DEF:${CMAKE_SOURCE_DIR}/dol.def")
|
||||
else ()
|
||||
target_compile_options(dol PRIVATE "-fvisibility=default")
|
||||
endif()
|
||||
|
||||
add_library(bootDll SHARED src/REL/bootDll/main.c src/REL/bootDll/language.c)
|
||||
target_compile_definitions(bootDll PRIVATE TARGET_PC VERSION=0 TARGET_REL)
|
||||
target_compile_definitions(bootDll PRIVATE TARGET_PC VERSION=${VERSION})
|
||||
target_include_directories(bootDll PRIVATE include build/GMPE01_00/include)
|
||||
if (MSVC)
|
||||
set_target_properties(bootDll PROPERTIES LINK_FLAGS "/EXPORT:ObjectSetup")
|
||||
target_link_libraries(bootDll PRIVATE musyx marioparty4)
|
||||
else ()
|
||||
endif()
|
||||
set(CMAKE_SUPPORT_WINDOWS_EXPORT_ALL_SYMBOLS OFF)
|
||||
target_link_libraries(bootDll PRIVATE dol musyx)
|
||||
|
||||
add_executable(marioparty4 src/port/portmain.c)
|
||||
target_compile_definitions(marioparty4 PRIVATE TARGET_PC VERSION=${VERSION})
|
||||
target_include_directories(marioparty4 PRIVATE include)
|
||||
target_link_libraries(marioparty4 PRIVATE dol aurora::main)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue