mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-09-06 04:35:29 +02:00
gason, vma, cityhash, 7zip (ext/lzma-sdk), basis_universal, pugixml, kirk (ext/libkirk), sfmt19937, xbrz, and xxhash were each defined with a small add_library() block directly in the root CMakeLists.txt, even though ext/CMakeLists.txt already exists and handles every other vendor library (freetype, imgui, naett, discord-rpc, libchdr, zstd, miniupnp, armips, glew, snappy, ...) via add_subdirectory(). Gave each one its own ext/<name>/CMakeLists.txt to match that established pattern; xxhash stays a loose file pair in ext/ (it never had its own directory) so its add_library() lives directly in ext/CMakeLists.txt instead. ext/libkirk/CMakeLists.txt already existed but was dead - nothing add_subdirectory()'d it, and its source list was stale (missing amctrl.c/.h, which the live inline definition in root had). Replaced its contents with the current, correct list instead of leaving two diverging definitions around. Dropped several target_include_directories()/include_directories() calls that came along with these (e.g. cityhash, kirk, xbrz, xxhash, and the lzma-sdk one for 7zip): traced their actual consumers and found each library's own sources resolve their sibling headers via the default same-directory quote-include rule, and every external consumer already uses the full "ext/<name>/..." path resolved through the global root include - so these were dead weight regardless of position. Replaced two single-value alias variables (LIB7ZIP_LIBRARY, always "7zip"; BASISU_LIBRARIES, always "basis_universal") with their target names directly in Common/CMakeLists.txt, rather than trying to carry them across the new add_subdirectory boundary - plain set() variables don't propagate back up out of a child scope without PARENT_SCOPE, so keeping them as-was would have silently broken Common's link line. Verified with a fully clean rebuild (removed build/ entirely), a HEADLESS=ON UNITTEST=ON build, and a LIBRETRO=ON build. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PSNaZnHCjmryS3ziVN9gZU
86 lines
2.4 KiB
CMake
86 lines
2.4 KiB
CMake
set(ARMIPS_REGEXP OFF CACHE BOOL "" FORCE)
|
|
set(ARMIPS_LIBRARY_ONLY ON CACHE BOOL "" FORCE)
|
|
if(WIN32)
|
|
set(ARMIPS_USE_STD_FILESYSTEM ON CACHE BOOL "" FORCE)
|
|
endif()
|
|
|
|
add_subdirectory(armips)
|
|
|
|
if(NOT USING_GLES2)
|
|
add_subdirectory(glew)
|
|
endif()
|
|
|
|
set(ENABLE_GLSLANG_BINARIES OFF CACHE BOOL "let's not build binaries we don't need" FORCE)
|
|
set(SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS ON CACHE BOOL "let's not use exceptions" FORCE)
|
|
set(ENABLE_SPVREMAPPER OFF CACHE BOOL "we don't need spvremapper" FORCE)
|
|
|
|
# not really needed since we currently bypass the official cmakelists...
|
|
set(ZLIB_BUILD_EXAMPLES OFF CACHE BOOL "we don't need zlib examples" FORCE)
|
|
|
|
# This is really a workaround for an NDK 20 compiler issue (PPSSPP issue #12105), but shouldn't hurt.
|
|
if(ANDROID)
|
|
set(ENABLE_HLSL OFF CACHE BOOL "let's not build HLSL support we don't need" FORCE)
|
|
endif()
|
|
|
|
# This works around a bug in cpu_features when ${CMAKE_BINARY_DIR} != ${CMAKE_CURRENT_BINRARY_DIR}.
|
|
# We also disable the list_cpu_features binary.
|
|
add_subdirectory(cmake/cpu_features EXCLUDE_FROM_ALL)
|
|
|
|
set(SKIP_GLSLANG_INSTALL ON CACHE BOOL "" FORCE)
|
|
set(ENABLE_GLSLANG_INSTALL OFF)
|
|
add_subdirectory(glslang EXCLUDE_FROM_ALL)
|
|
add_subdirectory(snappy)
|
|
add_subdirectory(lua-build)
|
|
add_subdirectory(minimp3)
|
|
add_subdirectory(at3_standalone)
|
|
add_subdirectory(udis86)
|
|
add_subdirectory(SPIRV-Cross-build)
|
|
add_subdirectory(rcheevos-build)
|
|
add_subdirectory(gason)
|
|
add_subdirectory(vma)
|
|
add_subdirectory(cityhash)
|
|
add_subdirectory(lzma-sdk)
|
|
add_subdirectory(basis_universal)
|
|
add_subdirectory(pugixml)
|
|
add_subdirectory(libkirk)
|
|
add_subdirectory(sfmt19937)
|
|
add_subdirectory(xbrz)
|
|
|
|
add_library(xxhash STATIC
|
|
xxhash.c
|
|
xxhash.h
|
|
)
|
|
|
|
set(FT_REQUIRE_ZLIB OFF CACHE BOOL "" FORCE)
|
|
set(FT_REQUIRE_BZIP2 OFF CACHE BOOL "" FORCE)
|
|
set(FT_REQUIRE_PNG OFF CACHE BOOL "" FORCE)
|
|
set(FT_REQUIRE_HARFBUZZ OFF CACHE BOOL "" FORCE)
|
|
set(FT_REQUIRE_BROTLI OFF CACHE BOOL "" FORCE)
|
|
if(NOT LIBRETRO AND NOT USE_SYSTEM_FREETYPE)
|
|
add_subdirectory(freetype freetype-build)
|
|
endif()
|
|
|
|
if(NOT LIBRETRO)
|
|
add_subdirectory(imgui)
|
|
endif()
|
|
if(NOT HTTPS_NOT_AVAILABLE)
|
|
add_subdirectory(naett-build)
|
|
endif()
|
|
if(USE_DISCORD AND NOT IOS AND NOT LIBRETRO)
|
|
add_subdirectory(discord-rpc-build)
|
|
endif()
|
|
|
|
if(NOT USE_SYSTEM_LIBCHDR)
|
|
add_subdirectory(libchdr-build)
|
|
endif()
|
|
|
|
if(BUILD_BUNDLED_FFMPEG)
|
|
add_subdirectory(ffmpeg-build)
|
|
endif()
|
|
|
|
if(ANDROID)
|
|
if (ARM64)
|
|
add_subdirectory(libadrenotools)
|
|
endif()
|
|
endif()
|