From 28abfe10e357526b6cca967bfaa4e88fe81bb99f Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Wed, 2 Apr 2025 18:44:10 +0200
Subject: [PATCH] cmake: configure external subprojects in different directory
(This avoid in-tree builds of external projects when doing in-tree SDL builds)
(cherry picked from commit 6d671428f1ee9a562f7f0f2513940f73798addcf)
---
CMakeLists.txt | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 85d5e4bd..2aac8d89 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -269,7 +269,7 @@ if(SDLTTF_HARFBUZZ)
set(HAVE_FT_DONE_MM_VAR 1 CACHE BOOL "FT_Done_MM_Var" FORCE)
set(HAVE_FT_GET_TRANSFORM 1 CACHE BOOL "FT_Get_Transform" FORCE)
sdl_check_project_in_subfolder(external/harfbuzz harfbuzz SDLTTF_VENDORED)
- add_subdirectory(external/harfbuzz EXCLUDE_FROM_ALL)
+ add_subdirectory(external/harfbuzz external/harfbuzz-build EXCLUDE_FROM_ALL)
# harfbuzz is a c++ project, enable c++ here to ensure linking to the c++ standard library.
enable_language(CXX)
if(NOT TARGET harfbuzz::harfbuzz)
@@ -344,7 +344,7 @@ if(SDLTTF_FREETYPE)
if(NOT EXISTS "${PROJECT_SOURCE_DIR}/external/freetype/CMakeLists.txt")
message(FATAL_ERROR "No freetype sources found. Install a freetype development package or run the download script in the external folder.")
endif()
- add_subdirectory(external/freetype EXCLUDE_FROM_ALL)
+ add_subdirectory(external/freetype external/freetype-build EXCLUDE_FROM_ALL)
if(NOT TARGET Freetype::Freetype)
add_library(Freetype::Freetype ALIAS freetype)
endif()
@@ -377,9 +377,9 @@ if(SDLTTF_PLUTOSVG)
set(PLUTOSVG_BUILD_EXAMPLES OFF CACHE BOOL "plutosvg build examples" FORCE)
set(PLUTOVG_BUILD_EXAMPLES OFF CACHE BOOL "plutovg build examples" FORCE)
sdl_check_project_in_subfolder(external/plutovg plutovg SDLTTF_VENDORED)
- add_subdirectory(external/plutovg EXCLUDE_FROM_ALL)
+ add_subdirectory(external/plutovg external/plutovg-build EXCLUDE_FROM_ALL)
sdl_check_project_in_subfolder(external/plutosvg plutosvg SDLTTF_VENDORED)
- add_subdirectory(external/plutosvg EXCLUDE_FROM_ALL)
+ add_subdirectory(external/plutosvg external/plutosvg-guild EXCLUDE_FROM_ALL)
set(SDLTTF_PLUTOSVG_ENABLED TRUE)
if(SDLTTF_BUILD_SHARED_LIBS)
set(plutosvg_link_libraries plutosvg::plutosvg)