dc
This commit is contained in:
parent
dd5240e9cd
commit
6740fb6c86
6 changed files with 456 additions and 334 deletions
|
|
@ -4,19 +4,27 @@ project(gquake)
|
|||
file(GLOB SOURCES src/*.c)
|
||||
|
||||
if(PS2)
|
||||
set(GL ps2gl)
|
||||
set(GL ps2gl)
|
||||
|
||||
set(CMAKE_EXECUTABLE_SUFFIX .elf)
|
||||
set(CMAKE_EXECUTABLE_SUFFIX .elf)
|
||||
elseif(VITA)
|
||||
set(GL vitaGL)
|
||||
set(GL vitaGL)
|
||||
elseif(PLATFORM_DREAMCAST)
|
||||
include(kallistios)
|
||||
add_compile_definitions(USE_KALLISTIOS)
|
||||
add_compile_definitions(NO_FCNTL)
|
||||
set(GL GL)
|
||||
else()
|
||||
find_package(OpenGL REQUIRED)
|
||||
find_package(OpenGL REQUIRED)
|
||||
|
||||
set(GL OpenGL::GL)
|
||||
set(GL OpenGL::GL)
|
||||
endif()
|
||||
|
||||
set(MILSKO "/usr/local")
|
||||
option(TRY_SDL2 "Try SDL2" ON)
|
||||
if(NOT PLATFORM_DREAMCAST)
|
||||
option(TRY_SDL2 "Try SDL2" ON)
|
||||
option(TRY_MILSKO "Try SDL2" OFF)
|
||||
endif()
|
||||
|
||||
add_executable(gquake ${SOURCES})
|
||||
target_include_directories(gquake PRIVATE include)
|
||||
|
|
@ -24,49 +32,55 @@ target_compile_definitions(gquake PRIVATE GL_EXT_SHARED GLQUAKE)
|
|||
target_link_libraries(gquake PRIVATE ${GL})
|
||||
|
||||
if(PSP)
|
||||
target_link_libraries(gquake PRIVATE SDL2main pspsdk pspnet cglue)
|
||||
target_link_libraries(gquake PRIVATE SDL2main pspsdk pspnet cglue)
|
||||
|
||||
create_pbp_file(TARGET gquake
|
||||
TITLE "GQuake")
|
||||
create_pbp_file(TARGET gquake
|
||||
TITLE "GQuake")
|
||||
elseif(PS2)
|
||||
target_link_libraries(gquake PRIVATE SDL2main stdc++ ps2stuff dma -ldebug)
|
||||
target_link_libraries(gquake PRIVATE SDL2main stdc++ ps2stuff dma -ldebug)
|
||||
|
||||
add_custom_command(TARGET gquake POST_BUILD
|
||||
COMMAND rm -rf gquake
|
||||
COMMAND mkdir -p gquake
|
||||
COMMAND cp gquake.elf gquake/GQUAKE.ELF
|
||||
COMMAND cp -rf ${CMAKE_SOURCE_DIR}/id1 gquake/
|
||||
COMMAND echo "BOOT2 = cdrom0:\\\\GQUAKE.ELF" > gquake/SYSTEM.CNF
|
||||
COMMAND genisoimage -udf -o gquake.iso gquake
|
||||
)
|
||||
add_custom_command(TARGET gquake POST_BUILD
|
||||
COMMAND rm -rf gquake
|
||||
COMMAND mkdir -p gquake
|
||||
COMMAND cp gquake.elf gquake/GQUAKE.ELF
|
||||
COMMAND cp -rf ${CMAKE_SOURCE_DIR}/id1 gquake/
|
||||
COMMAND echo "BOOT2 = cdrom0:\\\\GQUAKE.ELF" > gquake/SYSTEM.CNF
|
||||
COMMAND genisoimage -udf -o gquake.iso gquake
|
||||
)
|
||||
elseif(VITA)
|
||||
include(${VITASDK}/share/vita.cmake)
|
||||
include(${VITASDK}/share/vita.cmake)
|
||||
|
||||
target_link_libraries(gquake PRIVATE SDL2main stdc++ vitashark SceShaccCg_stub SceKernelDmacMgr_stub mathneon)
|
||||
target_link_libraries(gquake PRIVATE SDL2main stdc++ vitashark SceShaccCg_stub SceKernelDmacMgr_stub mathneon)
|
||||
|
||||
vita_create_self(gquake.self gquake)
|
||||
vita_create_vpk(gquake.vpk PYRT10000 gquake.self
|
||||
FILE ${CMAKE_SOURCE_DIR}/id1 sce_sys/id1
|
||||
)
|
||||
vita_create_self(gquake.self gquake)
|
||||
vita_create_vpk(gquake.vpk PYRT10000 gquake.self
|
||||
FILE ${CMAKE_SOURCE_DIR}/id1 sce_sys/id1
|
||||
)
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
target_link_libraries(gquake PRIVATE wsock32)
|
||||
target_link_libraries(gquake PRIVATE wsock32)
|
||||
else()
|
||||
target_link_libraries(gquake PRIVATE m)
|
||||
target_link_libraries(gquake PRIVATE m)
|
||||
endif()
|
||||
|
||||
set(FOUND FALSE)
|
||||
|
||||
if(NOT FOUND AND TRY_SDL2)
|
||||
find_package(SDL2)
|
||||
target_compile_definitions(gquake PRIVATE USE_SDL2)
|
||||
target_link_libraries(gquake PRIVATE SDL2::SDL2)
|
||||
find_package(SDL2)
|
||||
target_compile_definitions(gquake PRIVATE USE_SDL2)
|
||||
target_link_libraries(gquake PRIVATE SDL2::SDL2)
|
||||
|
||||
set(FOUND ON)
|
||||
set(FOUND ON)
|
||||
endif()
|
||||
|
||||
if(NOT FOUND)
|
||||
target_compile_definitions(gquake PRIVATE USE_MILSKO USE_MINIAUDIO)
|
||||
target_include_directories(gquake PRIVATE ${MILSKO}/include)
|
||||
target_link_directories(gquake PRIVATE ${MILSKO}/src ${MILSKO}/lib)
|
||||
target_link_libraries(gquake PRIVATE Mw)
|
||||
if(NOT FOUND AND TRY_MILSKO)
|
||||
target_compile_definitions(gquake PRIVATE USE_MILSKO USE_MINIAUDIO)
|
||||
target_include_directories(gquake PRIVATE ${MILSKO}/include)
|
||||
target_link_directories(gquake PRIVATE ${MILSKO}/src ${MILSKO}/lib)
|
||||
target_link_libraries(gquake PRIVATE Mw)
|
||||
endif()
|
||||
|
||||
if(PLATFORM_DREAMCAST)
|
||||
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/romdisk/)
|
||||
file(COPY ${CMAKE_BINARY_DIR}/../id1 DESTINATION ${CMAKE_BINARY_DIR}/romdisk/)
|
||||
kos_add_romdisk(${PROJECT_NAME} ${CMAKE_BINARY_DIR}/romdisk/)
|
||||
endif()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue