cSDL_image/README.md

1.9 KiB

Simple DirectMedia Layer SDL sublibrary SDL_image 1.2.12 repository for CASIO fx-CG 10/20 (a.k.a. PRIZM) and fx-CG 50 (or Graph 90+E)

Need to have a fully working gcc toolchain for SH3/SH4 architecture, such as fxSDK

You can use the giteapc install Slyvtt/cSDL_image command to get an automatic install

Using in a program

With CMake

find_package(cSDL_image 1.2.12 REQUIRED)
target_link_libraries(<TARGET> PRIVATE cSDL_image::cSDL_image)

With make, the following steps are not automatically done, so please proceed with the following manipulations :

  • copy the library libcSDL_image.a into your SH3/SH4 compiler lib folder
  • copy all header files *.h in the include folder include/SDL of the SH3/SH4 compiler
  • link with -lcSDL_image

In the C/C++ sources #include <SDL/SDL_image.h>

Typical CMakeLists.txt

Below is the typical minimum CMakeLists.txt file to be used for a fxSDK project aiming at using the cSDL_image library :

cmake_minimum_required(VERSION 3.15)
project(MyAddin)

include(GenerateG3A)
include(Fxconv)
find_package(Gint 2.7.1 REQUIRED)
find_package(cJPEG 9.2 REQUIRED)
find_package(cZlib 1.2.5 REQUIRED)
find_package(cPNG 1.5.30 REQUIRED)
find_package(cSDL 1.2.15 REQUIRED)
find_package(cSDL_image 1.2.12 REQUIRED)

set(SOURCES
  src/main.c
  # ...
)
# Shared assets, fx-9860G-only assets and fx-CG-50-only assets
set(ASSETS
  # ...
)

set(ASSETS_cg
  assets-cg/example.png
  # ...
)

fxconv_declare_assets(${ASSETS} ${ASSETS_cg} WITH_METADATA)

add_executable(myaddin ${SOURCES} ${ASSETS} ${ASSETS_${FXSDK_PLATFORM}})
target_compile_options(myaddin PRIVATE -Wall -Wextra -Os -std=c11)
target_link_libraries(myaddin cSDL_image::cSDL_image cPNG::cPNG cZlib::cZlib cJPEG::cJPEG Gint::Gint)


if("${FXSDK_PLATFORM_LONG}" STREQUAL fxCG50)
  generate_g3a(TARGET myaddin OUTPUT "SDLIm_App.g3a"
    NAME "SDLIm_App" ICONS assets-cg/icon-uns.png assets-cg/icon-sel.png)
endif()