Hack the build system ...
This commit is contained in:
parent
e24288866a
commit
9619220525
@ -308,7 +308,9 @@ if(DEFINED PS3)
|
||||
set(BUILD_GLES2 OFF CACHE BOOL "Build with OpenGL|ES 2" FORCE)
|
||||
set(BUILD_GLES3 OFF CACHE BOOL "Build with OpenGL|ES 3" FORCE)
|
||||
set(USE_ELF OFF)
|
||||
set(BUILD_SDL ON)
|
||||
set(USE_PNG OFF)
|
||||
set(USE_LIBZIP OFF)
|
||||
set(BUILD_SDL OFF)
|
||||
set(BUILD_GL OFF)
|
||||
set(BUILD_QT OFF)
|
||||
set(ENABLE_SCRIPTING OFF)
|
||||
@ -425,23 +427,23 @@ else()
|
||||
endif()
|
||||
|
||||
if(BUILD_GL)
|
||||
if(PS3)
|
||||
list(APPEND FEATURES EGL)
|
||||
set(OPENGL_LIBRARY EGL GL stdc++ gcm_sys rsx sysutil io audio rt lv2 io audio)
|
||||
else()
|
||||
find_package(OpenGL QUIET)
|
||||
if(NOT OPENGL_FOUND OR (APPLE AND MACOSX_SDK VERSION_GREATER 10.14))
|
||||
set(BUILD_GL OFF CACHE BOOL "OpenGL not found" FORCE)
|
||||
elseif(UNIX AND NOT APPLE AND TARGET OpenGL::GL)
|
||||
set(OPENGL_LIBRARY OpenGL::GL)
|
||||
endif()
|
||||
if(OpenGL_GLX_FOUND)
|
||||
list(APPEND FEATURES GLX)
|
||||
endif()
|
||||
if(OpenGL_EGL_FOUND)
|
||||
if(PS3)
|
||||
list(APPEND FEATURES EGL)
|
||||
list(APPEND OPENGL_LIBRARY ${OPENGL_egl_LIBRARY})
|
||||
endif()
|
||||
set(OPENGL_LIBRARY EGL GL stdc++ gcm_sys rsx sysutil io audio rt lv2 io audio)
|
||||
else()
|
||||
find_package(OpenGL QUIET)
|
||||
if(NOT OPENGL_FOUND OR (APPLE AND MACOSX_SDK VERSION_GREATER 10.14))
|
||||
set(BUILD_GL OFF CACHE BOOL "OpenGL not found" FORCE)
|
||||
elseif(UNIX AND NOT APPLE AND TARGET OpenGL::GL)
|
||||
set(OPENGL_LIBRARY OpenGL::GL)
|
||||
endif()
|
||||
if(OpenGL_GLX_FOUND)
|
||||
list(APPEND FEATURES GLX)
|
||||
endif()
|
||||
if(OpenGL_EGL_FOUND)
|
||||
list(APPEND FEATURES EGL)
|
||||
list(APPEND OPENGL_LIBRARY ${OPENGL_egl_LIBRARY})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
if(BUILD_GL)
|
||||
@ -1008,7 +1010,7 @@ else()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(DISABLE_FRONTENDS AND NOT PS3)
|
||||
if(DISABLE_FRONTENDS)
|
||||
set(BUILD_SDL OFF)
|
||||
set(BUILD_QT OFF)
|
||||
endif()
|
||||
@ -1231,6 +1233,8 @@ if(DISTBUILD)
|
||||
set(CPACK_COMPONENTS_ALL ${BINARY_NAME} ${BINARY_NAME}-dbg ${BINARY_NAME}-3ds ${BINARY_NAME}-perf)
|
||||
elseif(WII)
|
||||
set(CPACK_COMPONENTS_ALL ${BINARY_NAME} ${BINARY_NAME}-dbg ${BINARY_NAME}-wii ${BINARY_NAME}-perf)
|
||||
elseif(PS3)
|
||||
set(CPACK_COMPONENTS_ALL ${BINARY_NAME} ${BINARY_NAME}-dbg ${BINARY_NAME}-ps3 ${BINARY_NAME}-perf)
|
||||
elseif(PSP2)
|
||||
set(CPACK_COMPONENTS_ALL ${BINARY_NAME} ${BINARY_NAME}-dbg ${BINARY_NAME}-psp2 ${BINARY_NAME}-perf)
|
||||
elseif(SWITCH)
|
||||
@ -1260,6 +1264,8 @@ elseif(PSP2)
|
||||
cpack_add_component(${BINARY_NAME}-psp2 GROUP base)
|
||||
elseif(WII)
|
||||
cpack_add_component(${BINARY_NAME}-wii GROUP base)
|
||||
elseif(PS3)
|
||||
cpack_add_component(${BINARY_NAME}-ps3 GROUP base)
|
||||
elseif(SWITCH)
|
||||
cpack_add_component(${BINARY_NAME}-switch GROUP base)
|
||||
endif()
|
||||
|
@ -1,14 +1,16 @@
|
||||
find_library(GLAPI_LIBRARY GL REQUIRED)
|
||||
find_library(EGL_LIBRARY EGL REQUIRED)
|
||||
|
||||
set(OS_DEFINES _GNU_SOURCE IOAPI_NO_64 ENABLE_VFS_FD)
|
||||
list(APPEND VFS_SRC ${PROJECT_SOURCE_DIR}/src/util/vfs/vfs-fd.c ${PROJECT_SOURCE_DIR}/src/util/vfs/vfs-dirent.c)
|
||||
list(APPEND GUI_SRC ${CMAKE_CURRENT_SOURCE_DIR}/gui-font.c)
|
||||
|
||||
include_directories(AFTER ${OPENGL_EGL_INCLUDE_DIR})
|
||||
|
||||
set(VFS_SRC ${VFS_SRC} PARENT_SCOPE)
|
||||
set(OS_DEFINES ${OS_DEFINES} PARENT_SCOPE)
|
||||
set(OS_LIB ${OS_LIB} PARENT_SCOPE)
|
||||
|
||||
set(PS3_PKG_TITLE "${PROJECT_NAME} ${VERSION_STRING}")
|
||||
set(PS3_PKG_TITLE_ID "MGBA00001")
|
||||
set(PS3_PKG_PUBLISHER_ID "UP0001")
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/post-build.cmake)
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/pkg-version.cmake)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../sdl ${CMAKE_CURRENT_BINARY_DIR}/sdl)
|
||||
|
||||
add_ps3_build_steps()
|
||||
|
@ -11,53 +11,57 @@
|
||||
INCLUDE(CMakeForceCompiler)
|
||||
|
||||
if(DEFINED ENV{PS3DEV})
|
||||
SET(PS3DEV $ENV{PS3DEV})
|
||||
set(PS3DEV $ENV{PS3DEV})
|
||||
else()
|
||||
message(FATAL_ERROR "The environment variable PS3DEV needs needs to be defined.")
|
||||
endif()
|
||||
|
||||
if(DEFINED ENV{PSL1GHT})
|
||||
SET(PSL1GHT $ENV{PSL1GHT})
|
||||
set(PSL1GHT $ENV{PSL1GHT})
|
||||
else()
|
||||
message(FATAL_ERROR "The environment variable PSL1GHT needs to be defined.")
|
||||
endif()
|
||||
|
||||
SET(CMAKE_SYSTEM_NAME Generic)
|
||||
SET(CMAKE_SYSTEM_VERSION 1)
|
||||
SET(CMAKE_SYSTEM_PROCESSOR powerpc)
|
||||
set(CMAKE_SYSTEM_NAME Generic)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR powerpc)
|
||||
|
||||
SET(CMAKE_C_COMPILER ppu-gcc)
|
||||
SET(CMAKE_CXX_COMPILER ppu-g++)
|
||||
set(CMAKE_C_COMPILER ppu-gcc)
|
||||
set(CMAKE_CXX_COMPILER ppu-g++)
|
||||
|
||||
SET(PPU_CFLAGS "-mhard-float -fmodulo-sched -ffunction-sections -fdata-sections -I$ENV{PSL1GHT}/ppu/include -I$ENV{PSL1GHT}/portlibs/ppu/include -I$ENV{PSL1GHT}/ppu/include/simdmath")
|
||||
SET(PPU_CXXFLAGS "-D_GLIBCXX11_USE_C99_STDIO ${PPU_CFLAGS}")
|
||||
SET(PPU_LDFLAGS "-mhard-float -fmodulo-sched -Wl,--gc-sections -L$ENV{PSL1GHT}/ppu/lib -L$ENV{PSL1GHT}/portlibs/ppu/lib")
|
||||
set(MACHDEP "-mhard-float -fmodulo-sched -ffunction-sections -fdata-sections")
|
||||
|
||||
SET(CMAKE_INSTALL_PREFIX $ENV{PS3DEV}/portlibs/ppu)
|
||||
set(INCLUDES "-I${PS3DEV}/ppu/include -I${PS3DEV}/portlibs/ppu/include")
|
||||
set(PPU_CFLAGS "-mcpu=cell -mregnames -Wall ${MACHDEP} ${INCLUDES} -Wa,-mcell")
|
||||
set(PPU_LDFLAGS "-mcpu=cell -mregnames -Wall ${MACHDEP} -Wl,--gc-sections -L${PS3DEV}/ppu/lib -L${PS3DEV}/portlibs/ppu/lib")
|
||||
set(PPU_CXXFLAGS "-D_GLIBCXX11_USE_C99_STDIO ${PPU_CFLAGS}")
|
||||
|
||||
SET(CMAKE_FIND_ROOT_PATH $ENV{PS3DEV} $ENV{PS3DEV}/ppu $ENV{PS3DEV}/portlibs/ppu)
|
||||
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH ${PS3DEV} ${PS3DEV}/ppu ${PS3DEV}/portlibs/ppu)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE)
|
||||
|
||||
SET(CMAKE_C_FLAGS_INIT ${PPU_CFLAGS})
|
||||
SET(CMAKE_CXX_FLAGS_INIT ${PPU_CXXFLAGS})
|
||||
SET(CMAKE_EXE_LINKER_FLAGS_INIT ${PPU_LDFLAGS})
|
||||
SET(CMAKE_EXECUTABLE_SUFFIX "elf")
|
||||
SET(CMAKE_EXECUTABLE_SUFFIX_ASM .elf)
|
||||
SET(CMAKE_EXECUTABLE_SUFFIX_C .elf)
|
||||
SET(CMAKE_EXECUTABLE_SUFFIX_CXX .elf)
|
||||
set(CMAKE_C_FLAGS ${PPU_CFLAGS})
|
||||
set(ASFLAGS "${MACHDEP} -mcpu=cell -mregnames -D__ASSEMBLY__ -Wa,-mcell ${INCLUDES}")
|
||||
set(CMAKE_CXX_FLAGS ${PPU_CXXFLAGS})
|
||||
set(CMAKE_EXE_LINKER_FLAGS ${PPU_LDFLAGS})
|
||||
|
||||
set(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
|
||||
set(CMAKE_STATIC_LIBRARY_SUFFIX_C ".a")
|
||||
set(CMAKE_STATIC_LIBRARY_SUFFIX_CXX ".a")
|
||||
|
||||
SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-nostartfiles -Wl,-r -Wl,-d")
|
||||
set(CMAKE_EXECUTABLE_SUFFIX "elf")
|
||||
set(CMAKE_EXECUTABLE_SUFFIX_ASM .elf)
|
||||
set(CMAKE_EXECUTABLE_SUFFIX_C .elf)
|
||||
set(CMAKE_EXECUTABLE_SUFFIX_CXX .elf)
|
||||
|
||||
SET($ENV{PKG_CONFIG_DIR} "")
|
||||
SET($ENV{PKG_CONFIG_PATH} "")
|
||||
SET($ENV{PKG_CONFIG_SYSROOT_DIR} "")
|
||||
SET($ENV{PKG_CONFIG_LIBDIR} "$ENV{PS3DEV}/portlibs/ppu/lib/pkgconfig")
|
||||
set($ENV{PKG_CONFIG_DIR} "")
|
||||
set($ENV{PKG_CONFIG_PATH} "")
|
||||
set($ENV{PKG_CONFIG_SYSROOT_DIR} "")
|
||||
set($ENV{PKG_CONFIG_LIBDIR} "${PS3DEV}/portlibs/ppu/lib/pkgconfig")
|
||||
|
||||
SET(PS3 ON)
|
||||
SET(PLATFORM_PS3 TRUE)
|
||||
SET(PPU TRUE)
|
||||
set(PS3 ON)
|
||||
set(PLATFORM_PS3 TRUE)
|
||||
set(PPU TRUE)
|
||||
|
BIN
src/platform/ps3/icon0.png
Normal file
BIN
src/platform/ps3/icon0.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
37
src/platform/ps3/pkg-version.cmake
Normal file
37
src/platform/ps3/pkg-version.cmake
Normal file
@ -0,0 +1,37 @@
|
||||
string(LENGTH "${LIB_VERSION_MAJOR}" _len)
|
||||
string(SUBSTRING "00${LIB_VERSION_MAJOR}" ${_len} -1 PS3_APP_VER_MAJOR)
|
||||
string(LENGTH "${LIB_VERSION_MINOR}" _len)
|
||||
string(SUBSTRING "00${LIB_VERSION_MINOR}" ${_len} -1 PS3_APP_VER_MINOR)
|
||||
set(PS3_APP_VER "${PS3_APP_VER_MAJOR}.${PS3_APP_VER_MINOR}")
|
||||
|
||||
string(LENGTH "${LIB_VERSION_PATCH}" _len)
|
||||
string(SUBSTRING "00${LIB_VERSION_PATCH}" ${_len} -1 PS3_APP_REVISION)
|
||||
set(PS3_APP_REVISION "01.${PS3_APP_REVISION}")
|
||||
|
||||
set(PS3_PKG_NP_TITLE_ID "${PS3_PKG_TITLE_ID}_00")
|
||||
set(PS3_PKG_SERVICE_ID "${PS3_PKG_PUBLISHER_ID}-${PS3_PKG_NP_TITLE_ID}")
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
string(LENGTH "${PS3_PKG_ENTITLEMENT_LABEL_VERSION_STR}" _len)
|
||||
if (${_len} GREATER 5)
|
||||
set(PS3_PKG_ENTITLEMENT_LABEL_VERSION_STR "${LIB_VERSION_MAJOR}${LIB_VERSION_MINOR}")
|
||||
string(LENGTH "${PS3_PKG_ENTITLEMENT_LABEL_VERSION_STR}" _len)
|
||||
endif()
|
||||
string(SUBSTRING "00000${PS3_PKG_ENTITLEMENT_LABEL_VERSION_STR}" ${_len} -1 PS3_PKG_ENTITLEMENT_LABEL_VERSION_STR)
|
||||
|
||||
set(PS3_PKG_ENTITLEMENT_LABEL "MGBARELEASE${PS3_PKG_ENTITLEMENT_LABEL_VERSION_STR}")
|
||||
else()
|
||||
set(PS3_PKG_ENTITLEMENT_LABEL_VERSION_STR "${LIB_VERSION_MAJOR}${LIB_VERSION_MINOR}${LIB_VERSION_PATCH}")
|
||||
|
||||
string(LENGTH "${PS3_PKG_ENTITLEMENT_LABEL_VERSION_STR}" _len)
|
||||
if (${_len} GREATER 7)
|
||||
set(PS3_PKG_ENTITLEMENT_LABEL_VERSION_STR "${LIB_VERSION_MAJOR}${LIB_VERSION_MINOR}")
|
||||
string(LENGTH "${PS3_PKG_ENTITLEMENT_LABEL_VERSION_STR}" _len)
|
||||
endif()
|
||||
string(SUBSTRING "0000000${PS3_PKG_ENTITLEMENT_LABEL_VERSION_STR}" ${_len} -1 PS3_PKG_ENTITLEMENT_LABEL_VERSION_STR)
|
||||
|
||||
set(PS3_PKG_ENTITLEMENT_LABEL "MDEBUG${PS3_PKG_ENTITLEMENT_LABEL_VERSION_STR}")
|
||||
endif()
|
||||
set(PS3_PKG_CONTENT_ID "${PS3_PKG_SERVICE_ID}-${PS3_PKG_ENTITLEMENT_LABEL}")
|
||||
|
||||
set(PS3_PKG_ICON "${CMAKE_CURRENT_SOURCE_DIR}/icon0.png")
|
||||
set(PS3_PKG_CONTENT_FOLDER "content/")
|
66
src/platform/ps3/post-build.cmake
Normal file
66
src/platform/ps3/post-build.cmake
Normal file
@ -0,0 +1,66 @@
|
||||
if(POLICY CMP0079)
|
||||
cmake_policy(SET CMP0079 NEW)
|
||||
endif()
|
||||
|
||||
function(add_ps3_build_steps)
|
||||
link_libraries(stdc++ simdmath rsx gcm_sys io audio sysutil rt lv2 m)
|
||||
|
||||
setup_ps3_pkg()
|
||||
endfunction()
|
||||
|
||||
# Setup PS3 Package Generation
|
||||
function(setup_ps3_pkg)
|
||||
psl1ght_pkg_step1()
|
||||
psl1ght_pkg_step2()
|
||||
psl1ght_pkg_step3()
|
||||
|
||||
add_dependencies(${BINARY_NAME}_pkg ${BINARY_NAME}_ps3_pkg_step3)
|
||||
endfunction()
|
||||
|
||||
# This function makes the staging directory, copies the icon into it, makes the .self into a npdrm self (EBOOT.BIN) and generates the PARAM.SFO
|
||||
function(psl1ght_pkg_step1)
|
||||
add_custom_target(${BINARY_NAME}_pkg ALL DEPENDS ${BINARY_NAME}-sdl)
|
||||
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/sfo.xml ${CMAKE_BINARY_DIR}/sfo.xml)
|
||||
|
||||
add_custom_target(${BINARY_NAME}_ps3_pkg_step1)
|
||||
add_custom_command(
|
||||
TARGET ${BINARY_NAME}_ps3_pkg_step1
|
||||
COMMENT "Running initial PKG setup"
|
||||
COMMAND mkdir -p ${CMAKE_BINARY_DIR}/${BINARY_NAME}_pkg/USRDIR # Make the staging directory
|
||||
COMMAND cp ${PS3_PKG_ICON} ${CMAKE_BINARY_DIR}/${BINARY_NAME}_pkg/ICON0.PNG # Copy the icon into the staging directory
|
||||
COMMAND ${PS3DEV}/bin/make_self_npdrm "$<TARGET_FILE:${BINARY_NAME}-sdl>" "${CMAKE_BINARY_DIR}/${BINARY_NAME}_pkg/USRDIR/EBOOT.BIN" ${PS3_PKG_CONTENT_ID} # Make the MNDRM self file
|
||||
COMMAND ${PS3DEV}/bin/sfo.py --title "${PS3_PKG_TITLE}" --appid "${PS3_PKG_TITLE_ID}" -f "${CMAKE_BINARY_DIR}/sfo.xml" ${CMAKE_BINARY_DIR}/${BINARY_NAME}_pkg/PARAM.SFO # Generate the PARAM.SFO from the given sfo.xml file
|
||||
)
|
||||
endfunction()
|
||||
|
||||
# This function just adds a custom command to copy content from a specific folder (the 2nd parameter) to the pkg staging folder
|
||||
function(psl1ght_pkg_step2)
|
||||
add_custom_target(${BINARY_NAME}_ps3_pkg_step2 DEPENDS ${BINARY_NAME}_ps3_pkg_step1)
|
||||
add_custom_command(
|
||||
TARGET ${BINARY_NAME}_ps3_pkg_step2
|
||||
COMMENT "Adding content files"
|
||||
COMMAND cp -r ${CMAKE_SOURCE_DIR}/${PS3_PKG_CONTENT_FOLDER}/* ${CMAKE_BINARY_DIR}/${BINARY_NAME}_pkg/ # Copy the content into the staging directory
|
||||
)
|
||||
endfunction()
|
||||
|
||||
# This function builds the PKG before finalizing it for gnpdrm
|
||||
function(psl1ght_pkg_step3)
|
||||
file(GLOB RESULT "${CMAKE_SOURCE_DIR}/${PS3_PKG_CONTENT_FOLDER}/*")
|
||||
list(LENGTH RESULT RES_LEN)
|
||||
if(${RES_LEN} EQUAL 0)
|
||||
# no content
|
||||
add_custom_target(${BINARY_NAME}_ps3_pkg_step3 DEPENDS ${BINARY_NAME}_ps3_pkg_step1)
|
||||
else()
|
||||
# has content
|
||||
add_custom_target(${BINARY_NAME}_ps3_pkg_step3 DEPENDS ${BINARY_NAME}_ps3_pkg_step2)
|
||||
endif()
|
||||
|
||||
add_custom_command(
|
||||
TARGET ${BINARY_NAME}_ps3_pkg_step3
|
||||
COMMENT "Finalizing PKG build"
|
||||
COMMAND ${PS3DEV}/bin/pkg.py --contentid ${PS3_PKG_CONTENT_ID} ${CMAKE_BINARY_DIR}/${BINARY_NAME}_pkg/ ${CMAKE_BINARY_DIR}/${BINARY_NAME}.pkg # Create the PKG file
|
||||
COMMAND cp ${CMAKE_BINARY_DIR}/${BINARY_NAME}.pkg ${CMAKE_BINARY_DIR}/${BINARY_NAME}.gnpdrm.pkg # Copy that PKG file to a new PKG file for finalization
|
||||
COMMAND ${PS3DEV}/bin/package_finalize ${CMAKE_BINARY_DIR}/${BINARY_NAME}.gnpdrm.pkg # Finalize that PKG file to get a GNPDRM PKG
|
||||
)
|
||||
endfunction()
|
39
src/platform/ps3/sfo.xml
Normal file
39
src/platform/ps3/sfo.xml
Normal file
@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" ?>
|
||||
<sfo>
|
||||
<value name="APP_VER" type="string">
|
||||
@PS3_APP_VER@
|
||||
</value>
|
||||
<value name="ATTRIBUTE" type="integer">
|
||||
0
|
||||
</value>
|
||||
<value name="BOOTABLE" type="integer">
|
||||
1
|
||||
</value>
|
||||
<value name="CATEGORY" type="string">
|
||||
HG
|
||||
</value>
|
||||
<value name="LICENSE" type="string">
|
||||
Mozilla Public License 2.0 (MPL 2.0)
|
||||
</value>
|
||||
<value name="PARENTAL_LEVEL" type="integer">
|
||||
0
|
||||
</value>
|
||||
<value name="PS3_SYSTEM_VER" type="string">
|
||||
01.8000
|
||||
</value>
|
||||
<value name="RESOLUTION" type="integer">
|
||||
63
|
||||
</value>
|
||||
<value name="SOUND_FORMAT" type="integer">
|
||||
279
|
||||
</value>
|
||||
<value name="TITLE" type="string">
|
||||
@PS3_PKG_TITLE@
|
||||
</value>
|
||||
<value name="TITLE_ID" type="string">
|
||||
@PS3_PKG_TITLE_ID@
|
||||
</value>
|
||||
<value name="VERSION" type="string">
|
||||
@PS3_APP_REVISION@
|
||||
</value>
|
||||
</sfo>
|
@ -63,6 +63,8 @@ elseif(APPLE)
|
||||
if(NOT CMAKE_SYSTEM_VERSION VERSION_LESS "19.0") # Darwin 19.x is macOS 10.15
|
||||
list(APPEND SDL_LIBRARY "-framework GameController" "-framework CoreHaptics")
|
||||
endif()
|
||||
elseif(PS3)
|
||||
list(APPEND SDL_LIBRARY simdmath rsx gcm_sys io audio sysutil rt lv2 m)
|
||||
endif()
|
||||
|
||||
if(NOT SDLMAIN_LIBRARY)
|
||||
@ -72,11 +74,7 @@ endif()
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS},libsdl${SDL_VERSION_DEBIAN}" PARENT_SCOPE)
|
||||
|
||||
file(GLOB PLATFORM_SRC ${CMAKE_CURRENT_SOURCE_DIR}/sdl-*.c)
|
||||
if(PS3)
|
||||
set(PLATFORM_LIBRARY EGL GL stdc++ gcm_sys rsx sysutil io audio rt lv2 io audio ${SDL_LIBRARY} EGL GL stdc++ gcm_sys rsx sysutil io audio rt lv2 io audio ${SDLMAIN_LIBRARY} EGL GL stdc++ gcm_sys rsx sysutil io audio rt lv2 io audio ${SDL_LIBRARY} ${PIXMAN-1_LIBRARIES})
|
||||
else()
|
||||
set(PLATFORM_LIBRARY ${SDL_LIBRARY} ${SDLMAIN_LIBRARY} ${SDL_LIBRARY} ${PIXMAN-1_LIBRARIES})
|
||||
endif()
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${PIXMAN-1_INCLUDE_DIRS} ${SDL_INCLUDE_DIR})
|
||||
|
||||
set(SDL_INCLUDE_DIR "${SDL_INCLUDE_DIR}" PARENT_SCOPE)
|
||||
@ -114,6 +112,29 @@ if(NOT WIN32)
|
||||
else()
|
||||
set_target_properties(${BINARY_NAME}-sdl PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
|
||||
endif()
|
||||
|
||||
if(PS3)
|
||||
list(APPEND SDL_LIBRARY simdmath rsx gcm_sys io audio sysutil rt lv2 m)
|
||||
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
add_custom_command(
|
||||
TARGET ${BINARY_NAME}-sdl
|
||||
POST_BUILD
|
||||
COMMENT "Stripping PS3 binary"
|
||||
COMMAND ${PS3DEV}/ppu/bin/powerpc64-ps3-elf-strip $<TARGET_FILE:${BINARY_NAME}-sdl> -o $<TARGET_FILE:${BINARY_NAME}-sdl> # Strip the binary
|
||||
)
|
||||
endif()
|
||||
|
||||
add_custom_command(
|
||||
TARGET ${BINARY_NAME}-sdl
|
||||
POST_BUILD
|
||||
COMMENT "Running PS3 specific post-build steps"
|
||||
COMMAND ${PS3DEV}/bin/sprxlinker $<TARGET_FILE:${BINARY_NAME}-sdl> # Run sprxlinker on it
|
||||
COMMAND ${PS3DEV}/bin/make_self $<TARGET_FILE:${BINARY_NAME}-sdl> $<TARGET_FILE:${BINARY_NAME}-sdl>.self # Convert it into a .self file
|
||||
COMMAND ${PS3DEV}/bin/fself $<TARGET_FILE:${BINARY_NAME}-sdl> $<TARGET_FILE:${BINARY_NAME}-sdl>.fake.self # Convert the .self file info a .fake.self
|
||||
)
|
||||
endif()
|
||||
|
||||
install(TARGETS ${BINARY_NAME}-sdl DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${BINARY_NAME}-sdl)
|
||||
if(UNIX)
|
||||
install(FILES ${PROJECT_SOURCE_DIR}/doc/mgba.6 DESTINATION ${MANDIR}/man6 COMPONENT ${BINARY_NAME}-sdl)
|
||||
|
Loading…
x
Reference in New Issue
Block a user