Rendering on PSP again.

This commit is contained in:
2025-09-02 21:14:07 -05:00
parent 8de12da1ec
commit 87f18d0e13
13 changed files with 82 additions and 26 deletions

View File

@@ -1,42 +0,0 @@
# Try to find SDL2 in common locations
find_path(SDL2_INCLUDE_DIR SDL.h
PATHS
/usr/include/SDL2
/usr/local/include/SDL2
$ENV{SDL2_DIR}/include
PATH_SUFFIXES SDL2
)
find_library(SDL2_LIBRARY
NAMES SDL2
PATHS
/usr/lib
/usr/local/lib
$ENV{SDL2_DIR}/lib
)
if(SDL2_INCLUDE_DIR AND SDL2_LIBRARY)
set(SDL2_FOUND TRUE)
set(SDL2_LIBRARIES ${SDL2_LIBRARY})
set(SDL2_INCLUDE_DIRS ${SDL2_INCLUDE_DIR})
endif()
# If not found, use FetchContent to acquire SDL2
if(NOT SDL2_FOUND)
include(FetchContent)
FetchContent_Declare(
SDL2
GIT_REPOSITORY https://github.com/libsdl-org/SDL.git
GIT_TAG release-2.28.5 # Change to desired version
)
FetchContent_MakeAvailable(SDL2)
set(SDL2_FOUND TRUE)
set(SDL2_LIBRARIES SDL2)
set(SDL2_INCLUDE_DIRS ${sdl2_SOURCE_DIR}/include)
endif()
# Provide variables for downstream usage
if(SDL2_FOUND)
set(SDL2_INCLUDE_DIR ${SDL2_INCLUDE_DIRS} CACHE PATH "SDL2 include directory")
set(SDL2_LIBRARY ${SDL2_LIBRARIES} CACHE FILEPATH "SDL2 library")
endif()

View File

@@ -1,86 +0,0 @@
# Copyright (c) 2025 Dominic Masters
#
# This software is released under the MIT License.
# https://opensource.org/licenses/MIT
set(LIBZIP_ALLOW_FETCH ON CACHE BOOL "Allow fetching libzip if not found")
set(LIBZIP_FETCH_GIT_REPO "https://github.com/nih-at/libzip.git" CACHE STRING "libzip Git repository")
set(LIBZIP_FETCH_GIT_TAG "v1.11.1" CACHE STRING "libzip Git tag to fetch")
set(LIBZIP_MIN_VERSION "" CACHE STRING "Required minimum libzip version (optional)")
unset(LIBZIP_FOUND CACHE)
unset(LIBZIP_TARGET CACHE)
unset(LIBZIP_INCLUDE_DIRS CACHE)
unset(LIBZIP_LIBRARIES CACHE)
set(_find_args CONFIG QUIET)
if(LIBZIP_MIN_VERSION)
list(PREPEND _find_args ${LIBZIP_MIN_VERSION})
endif()
find_package(libzip ${_find_args})
if(TARGET libzip::zip)
set(LIBZIP_FOUND ON)
set(LIBZIP_TARGET libzip::zip)
elseif(TARGET zip) # some builds expose an un-namespaced "zip"
add_library(libzip::zip ALIAS zip)
set(LIBZIP_FOUND ON)
set(LIBZIP_TARGET libzip::zip)
endif()
if(NOT LIBZIP_FOUND)
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(LIBZIP_PC QUIET libzip)
if(LIBZIP_PC_FOUND)
# Create a consistent imported target matching libzip::zip
add_library(libzip::zip INTERFACE IMPORTED)
set_target_properties(libzip::zip PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${LIBZIP_PC_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${LIBZIP_PC_LINK_LIBRARIES}"
)
set(LIBZIP_FOUND ON)
set(LIBZIP_TARGET libzip::zip)
set(LIBZIP_INCLUDE_DIRS "${LIBZIP_PC_INCLUDE_DIRS}")
set(LIBZIP_LIBRARIES "${LIBZIP_PC_LINK_LIBRARIES}")
endif()
endif()
endif()
# ---- 3) FetchContent as a last resort ---------------------------------------
if(NOT LIBZIP_FOUND AND LIBZIP_ALLOW_FETCH)
include(FetchContent)
set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
set(LIBZIP_DO_INSTALL OFF CACHE BOOL "" FORCE)
set(ENABLE_BZIP2 OFF CACHE BOOL "" FORCE)
set(ENABLE_LZMA OFF CACHE BOOL "" FORCE)
set(ENABLE_ZSTD OFF CACHE BOOL "" FORCE)
FetchContent_Declare(
libzip_fetch
GIT_REPOSITORY "${LIBZIP_FETCH_GIT_REPO}"
GIT_TAG "${LIBZIP_FETCH_GIT_TAG}"
)
FetchContent_MakeAvailable(libzip_fetch)
if(NOT TARGET libzip::zip)
if(TARGET zip)
add_library(libzip::zip ALIAS zip)
endif()
endif()
if(TARGET libzip::zip)
set(LIBZIP_FOUND ON)
set(LIBZIP_TARGET libzip::zip)
else()
message(FATAL_ERROR "libzip fetch succeeded but target 'libzip::zip' (or 'zip') was not created.")
endif()
endif()
# Final guard
if(NOT LIBZIP_FOUND)
message(FATAL_ERROR "libzip not found and fetching is disabled or failed. "
"Set LIBZIP_ALLOW_FETCH=ON or install libzip development files.")
endif()

View File

@@ -33,7 +33,7 @@ if(NOT TARGET pspsdk)
file(DOWNLOAD
"https://github.com/pspdev/pspdev/releases/latest/download/pspdev-ubuntu-latest-x86_64.tar.gz"
"${CMAKE_BINARY_DIR}/pspsdk.tar.gz"
EXPECTED_HASH SHA256=afe338e92f6eeec21c56a64eeb65201e6b95ecbae938ae38688bbf0f17b69ead
EXPECTED_HASH SHA256=2befe2ad83afd88934c106dbe98a72a7ad5ede8d272b7f1e79fda256a22f1062
SHOW_PROGRESS
)
@@ -98,6 +98,9 @@ if(NOT TARGET pspsdk)
pspaudio
pspaudiolib
psputility
pspvfpu
pspvram
psphprm
)
endif()
endif()