From 69812678cfb88c64bcdd540eef19b8c8e5467b28 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Fri, 16 Dec 2022 23:51:39 +0100
Subject: [PATCH] cmake: cache cmake config installation folder in
SDL_INSTALL_CMAKEDIR_ROOT
Make sure SDLx is not part of the cached variable such that it can be re-used by SDL2 and SDL3
---
CMakeLists.txt | 29 ++++++++++++++++++++---------
1 file changed, 20 insertions(+), 9 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cb66f52907cb..c7107a3ea6a9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3259,8 +3259,27 @@ if(SDL_TEST)
target_link_libraries(SDL3_test PRIVATE ${EXTRA_TEST_LIBS})
endif()
-##### Installation targets #####
if(NOT SDL3_DISABLE_INSTALL)
+
+ ##### Configure installation folders #####
+
+ if(WINDOWS AND NOT MINGW)
+ set(SDL_INSTALL_CMAKEDIR_ROOT_DEFAULT "cmake")
+ else()
+ set(SDL_INSTALL_CMAKEDIR_ROOT_DEFAULT "${CMAKE_INSTALL_LIBDIR}/cmake")
+ endif()
+ set(SDL_INSTALL_CMAKEDIR_ROOT "${SDL_INSTALL_CMAKEDIR_ROOT_DEFAULT}" CACHE STRING "Root folder where to install SDL3Config.cmake related files (SDL3 subfolder for MSVC projects)")
+
+ if(WINDOWS AND NOT MINGW)
+ set(SDL_INSTALL_CMAKEDIR "${SDL_INSTALL_CMAKEDIR_ROOT}")
+ set(LICENSES_PREFIX "licenses/SDL3")
+ else()
+ set(SDL_INSTALL_CMAKEDIR "${SDL_INSTALL_CMAKEDIR_ROOT}/SDL3")
+ set(LICENSES_PREFIX "${CMAKE_INSTALL_DATAROOTDIR}/licenses/${PROJECT_NAME}")
+ endif ()
+
+ ##### Installation targets #####
+
if(SDL_SHARED)
install(TARGETS SDL3 EXPORT SDL3Targets
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
@@ -3283,14 +3302,6 @@ if(NOT SDL3_DISABLE_INSTALL)
endif()
##### Export files #####
- if (WINDOWS AND NOT MINGW)
- set(SDL_INSTALL_CMAKEDIR_DEFAULT "cmake")
- set(LICENSES_PREFIX "licenses/SDL3")
- else ()
- set(SDL_INSTALL_CMAKEDIR_DEFAULT "${CMAKE_INSTALL_LIBDIR}/cmake/SDL3")
- set(LICENSES_PREFIX "${CMAKE_INSTALL_DATAROOTDIR}/licenses/${PROJECT_NAME}")
- endif ()
- set(SDL_INSTALL_CMAKEDIR "${SDL_INSTALL_CMAKEDIR_DEFAULT}" CACHE STRING "Location where to install SDL3Config.cmake")
include(CMakePackageConfigHelpers)
configure_package_config_file(SDL3Config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/SDL3Config.cmake"