build(font): build FreeType from a submodule instead of requiring a system package

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ButHENCbXXt8h4EZuWUabJ
This commit is contained in:
Dean Galvin 2026-09-28 22:03:39 +13:00
parent d942a604a9
commit 588b5bb2bf
5 changed files with 15 additions and 6 deletions

3
.gitmodules vendored
View File

@ -19,3 +19,6 @@
[submodule "3rdparty/LibAtrac9"]
path = 3rdparty/LibAtrac9
url = https://github.com/shadps4-emu/ext-LibAtrac9.git
[submodule "3rdparty/freetype"]
path = 3rdparty/freetype
url = https://github.com/freetype/freetype.git

1
3rdparty/freetype vendored Submodule

@ -0,0 +1 @@
Subproject commit 42608f77f20749dd6ddc9e0536788eaad70ea4b5

View File

@ -33,6 +33,15 @@ set(CMAKE_EXE_LINKER_FLAGS "")
add_subdirectory(3rdparty/SDL2)
set(CMAKE_EXE_LINKER_FLAGS "${ANYPS5_EXE_LINKER_FLAGS}")
set(FT_DISABLE_ZLIB ON CACHE BOOL "" FORCE)
set(FT_DISABLE_BZIP2 ON CACHE BOOL "" FORCE)
set(FT_DISABLE_PNG ON CACHE BOOL "" FORCE)
set(FT_DISABLE_HARFBUZZ ON CACHE BOOL "" FORCE)
set(FT_DISABLE_BROTLI ON CACHE BOOL "" FORCE)
set(SKIP_INSTALL_ALL ON CACHE BOOL "" FORCE)
add_subdirectory(3rdparty/freetype EXCLUDE_FROM_ALL)
set_target_properties(freetype PROPERTIES POSITION_INDEPENDENT_CODE ON)
add_subdirectory(core/shader/recompiler)
add_subdirectory(core/libs)
add_subdirectory(core/relinker)

View File

@ -1,5 +1,3 @@
find_package(Freetype REQUIRED)
function(add_sce_font_library target)
set(fontDir ${CMAKE_CURRENT_FUNCTION_LIST_DIR})
add_library(${target} SHARED EXCLUDE_FROM_ALL
@ -13,7 +11,7 @@ function(add_sce_font_library target)
${fontDir}/src/Unimplemented.cpp
)
target_include_directories(${target} PRIVATE ${LIBS_INCLUDE_DIR})
target_link_libraries(${target} PRIVATE Freetype::Freetype libc)
target_link_libraries(${target} PRIVATE freetype libc)
set_target_properties(${target} PROPERTIES
CXX_EXTENSIONS OFF
CXX_VISIBILITY_PRESET hidden

View File

@ -1,12 +1,10 @@
find_package(Freetype REQUIRED)
add_library(libSceFontFt SHARED EXCLUDE_FROM_ALL
${CMAKE_CURRENT_SOURCE_DIR}/Export.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/Driver.cpp
)
target_include_directories(libSceFontFt PRIVATE ${LIBS_INCLUDE_DIR})
target_link_libraries(libSceFontFt PRIVATE Freetype::Freetype libc)
target_link_libraries(libSceFontFt PRIVATE freetype libc)
set_target_properties(libSceFontFt PROPERTIES
CXX_EXTENSIONS OFF
CXX_VISIBILITY_PRESET hidden