add a lib for rendering text in sdl2 and rules to make in makefile

This commit is contained in:
2026-01-21 14:45:11 -06:00
parent f3c0aafe2f
commit e7d9c013f4
1754 changed files with 850297 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
# This cmake build script is meant for verifying the various CMake configuration script.
cmake_minimum_required(VERSION 3.12)
project(sdl_test LANGUAGES C)
cmake_policy(SET CMP0074 NEW)
# Override CMAKE_FIND_ROOT_PATH_MODE to allow search for SDL2_ttf outside of sysroot
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE NEVER)
include(FeatureSummary)
option(TEST_SHARED "Test linking to shared SDL2_ttf library" ON)
add_feature_info("TEST_SHARED" TEST_SHARED "Test linking with shared library")
option(TEST_STATIC "Test linking to static SDL2_ttf libary" ON)
add_feature_info("TEST_STATIC" TEST_STATIC "Test linking with static library")
if(TEST_SHARED)
# FIXME: in the distant future, must become REQUIRED
find_package(SDL2 CONFIG COMPONENTS SDL2)
# FIXME: and the following should be removed
if(NOT TARGET SDL2::SDL2)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/..")
include(PrivateSdlFunctions)
sdl_find_sdl2(SDL2::SDL2 2.0)
endif()
find_package(SDL2_ttf REQUIRED CONFIG)
add_executable(main_shared main.c)
target_link_libraries(main_shared PRIVATE SDL2::SDL2 SDL2_ttf::SDL2_ttf)
endif()
if(TEST_STATIC)
# FIXME: in the distant future, must become REQUIRED
find_package(SDL2 CONFIG COMPONENTS SDL2-static)
# FIXME: and the following should be removed
if(NOT TARGET SDL2::SDL2-static)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/..")
include(PrivateSdlFunctions)
sdl_find_sdl2(SDL2::SDL2-static 2.0)
endif()
# some static vendored libraries use c++ (enable CXX after `find_package` might show a warning)
enable_language(CXX)
find_package(SDL2_ttf REQUIRED CONFIG)
add_executable(main_static main.c)
target_link_libraries(main_static PRIVATE SDL2::SDL2-static SDL2_ttf::SDL2_ttf-static)
endif()
feature_summary(WHAT ALL)

View File

@@ -0,0 +1,18 @@
#define SDL_MAIN_HANDLED
#include "SDL.h"
#include "SDL_ttf.h"
#include <stdio.h>
int main(int argc, char *argv[]) {
SDL_SetMainReady();
if (SDL_Init(0) < 0) {
fprintf(stderr, "could not initialize sdl2: %s\n", SDL_GetError());
return 1;
}
if (TTF_Init() == -1) {
fprintf(stderr, "TTF_Init: %s\n", TTF_GetError());
}
TTF_Quit();
SDL_Quit();
return 0;
}