Add a vendored copy of SDL
This commit is contained in:
		| @@ -0,0 +1,48 @@ | ||||
| # based on the files generated by CMake's write_basic_package_version_file | ||||
|  | ||||
| # SDL2 CMake version configuration file: | ||||
| # This file is meant to be placed in Resources/CMake of a SDL2 framework | ||||
|  | ||||
| if(NOT EXISTS "${CMAKE_CURRENT_LIST_DIR}/../../Headers/SDL_version.h") | ||||
|     message(AUTHOR_WARNING "Could not find SDL_version.h. This script is meant to be placed in the Resources/CMake directory of SDL2.framework") | ||||
|     return() | ||||
| endif() | ||||
|  | ||||
| file(READ "${CMAKE_CURRENT_LIST_DIR}/../../Headers/SDL_version.h" _sdl_version_h) | ||||
| string(REGEX MATCH "#define[ \t]+SDL_MAJOR_VERSION[ \t]+([0-9]+)" _sdl_major_re "${_sdl_version_h}") | ||||
| set(_sdl_major "${CMAKE_MATCH_1}") | ||||
| string(REGEX MATCH "#define[ \t]+SDL_MINOR_VERSION[ \t]+([0-9]+)" _sdl_minor_re "${_sdl_version_h}") | ||||
| set(_sdl_minor "${CMAKE_MATCH_1}") | ||||
| string(REGEX MATCH "#define[ \t]+SDL_PATCHLEVEL[ \t]+([0-9]+)" _sdl_patch_re "${_sdl_version_h}") | ||||
| set(_sdl_patch "${CMAKE_MATCH_1}") | ||||
| if(_sdl_major_re AND _sdl_minor_re AND _sdl_patch_re) | ||||
|     set(PACKAGE_VERSION "${_sdl_major}.${_sdl_minor}.${_sdl_patch}") | ||||
| else() | ||||
|     message(AUTHOR_WARNING "Could not extract version from SDL_version.h.") | ||||
|     return() | ||||
| endif() | ||||
|  | ||||
| if(PACKAGE_FIND_VERSION_RANGE) | ||||
|     # Package version must be in the requested version range | ||||
|     if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) | ||||
|         OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) | ||||
|         OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) | ||||
|         set(PACKAGE_VERSION_COMPATIBLE FALSE) | ||||
|     else() | ||||
|         set(PACKAGE_VERSION_COMPATIBLE TRUE) | ||||
|     endif() | ||||
| else() | ||||
|     if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) | ||||
|         set(PACKAGE_VERSION_COMPATIBLE FALSE) | ||||
|     else() | ||||
|         set(PACKAGE_VERSION_COMPATIBLE TRUE) | ||||
|         if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) | ||||
|             set(PACKAGE_VERSION_EXACT TRUE) | ||||
|         endif() | ||||
|     endif() | ||||
| endif() | ||||
|  | ||||
| # if the using project doesn't have CMAKE_SIZEOF_VOID_P set, fail. | ||||
| if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "") | ||||
|     set(PACKAGE_VERSION_UNSUITABLE TRUE) | ||||
| endif() | ||||
| @@ -0,0 +1,78 @@ | ||||
| # SDL2 CMake configuration file: | ||||
| # This file is meant to be placed in Resources/CMake of a SDL2 framework | ||||
|  | ||||
| # INTERFACE_LINK_OPTIONS needs CMake 3.12 | ||||
| cmake_minimum_required(VERSION 3.12) | ||||
|  | ||||
| include(FeatureSummary) | ||||
| set_package_properties(SDL2 PROPERTIES | ||||
|     URL "https://www.libsdl.org/" | ||||
|     DESCRIPTION "low level access to audio, keyboard, mouse, joystick, and graphics hardware" | ||||
| ) | ||||
|  | ||||
| # Copied from `configure_package_config_file` | ||||
| macro(set_and_check _var _file) | ||||
|     set(${_var} "${_file}") | ||||
|     if(NOT EXISTS "${_file}") | ||||
|         message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !") | ||||
|     endif() | ||||
| endmacro() | ||||
|  | ||||
| # Copied from `configure_package_config_file` | ||||
| macro(check_required_components _NAME) | ||||
|     foreach(comp ${${_NAME}_FIND_COMPONENTS}) | ||||
|         if(NOT ${_NAME}_${comp}_FOUND) | ||||
|             if(${_NAME}_FIND_REQUIRED_${comp}) | ||||
|                 set(${_NAME}_FOUND FALSE) | ||||
|             endif() | ||||
|         endif() | ||||
|     endforeach() | ||||
| endmacro() | ||||
|  | ||||
| set(SDL2_FOUND TRUE) | ||||
|  | ||||
| # Compute the installation prefix relative to this file. | ||||
| set(SDL2_FRAMEWORK_PATH "${CMAKE_CURRENT_LIST_DIR}")                                # > /SDL2.framework/Resources/CMake/ | ||||
| get_filename_component(SDL2_FRAMEWORK_PATH "${SDL2_FRAMEWORK_PATH}" REALPATH)       # > /SDL2.framework/Versions/Current/Resources/CMake | ||||
| get_filename_component(SDL2_FRAMEWORK_PATH "${SDL2_FRAMEWORK_PATH}" REALPATH)       # > /SDL2.framework/Versions/A/Resources/CMake/ | ||||
| get_filename_component(SDL2_FRAMEWORK_PATH "${SDL2_FRAMEWORK_PATH}" PATH)           # > /SDL2.framework/Versions/A/Resources/ | ||||
| get_filename_component(SDL2_FRAMEWORK_PATH "${SDL2_FRAMEWORK_PATH}" PATH)           # > /SDL2.framework/Versions/A/ | ||||
| get_filename_component(SDL2_FRAMEWORK_PATH "${SDL2_FRAMEWORK_PATH}" PATH)           # > /SDL2.framework/Versions/ | ||||
| get_filename_component(SDL2_FRAMEWORK_PATH "${SDL2_FRAMEWORK_PATH}" PATH)           # > /SDL2.framework/ | ||||
| get_filename_component(SDL2_FRAMEWORK_PARENT_PATH "${SDL2_FRAMEWORK_PATH}" PATH)    # > / | ||||
|  | ||||
| # For compatibility with autotools sdl2-config.cmake, provide SDL2_* variables. | ||||
|  | ||||
| set_and_check(SDL2_PREFIX       "${SDL2_FRAMEWORK_PATH}") | ||||
| set_and_check(SDL2_EXEC_PREFIX  "${SDL2_FRAMEWORK_PATH}") | ||||
| set_and_check(SDL2_INCLUDE_DIR  "${SDL2_FRAMEWORK_PATH}/Headers") | ||||
| set(SDL2_INCLUDE_DIRS           "${SDL2_INCLUDE_DIR};${SDL2_FRAMEWORK_PATH}") | ||||
| set_and_check(SDL2_BINDIR       "${SDL2_FRAMEWORK_PATH}") | ||||
| set_and_check(SDL2_LIBDIR       "${SDL2_FRAMEWORK_PATH}") | ||||
|  | ||||
| set(SDL2_LIBRARIES "SDL2::SDL2") | ||||
|  | ||||
| # All targets are created, even when some might not be requested though COMPONENTS. | ||||
| # This is done for compatibility with CMake generated SDL2-target.cmake files. | ||||
|  | ||||
| if(NOT TARGET SDL2::SDL2) | ||||
|     add_library(SDL2::SDL2 SHARED IMPORTED) | ||||
|     set_target_properties(SDL2::SDL2 | ||||
|         PROPERTIES | ||||
|             FRAMEWORK "TRUE" | ||||
|             IMPORTED_LOCATION "${SDL2_FRAMEWORK_PATH}/Versions/A/SDL2" | ||||
|             INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIRS}" | ||||
|             COMPATIBLE_INTERFACE_BOOL "SDL2_SHARED" | ||||
|             INTERFACE_SDL2_SHARED "ON" | ||||
|             COMPATIBLE_INTERFACE_STRING "SDL_VERSION" | ||||
|             INTERFACE_SDL_VERSION "SDL2" | ||||
|     ) | ||||
| endif() | ||||
| set(SDL2_SDL2_FOUND TRUE) | ||||
|  | ||||
| if(NOT TARGET SDL2::SDL2main) | ||||
|     add_library(SDL2::SDL2main INTERFACE IMPORTED) | ||||
| endif() | ||||
| set(SDL2_SDL2main_FOUND TRUE) | ||||
|  | ||||
| check_required_components(SDL2) | ||||
							
								
								
									
										19
									
								
								vendored/sdl/Xcode/SDL/pkg-support/resources/License.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								vendored/sdl/Xcode/SDL/pkg-support/resources/License.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
|  | ||||
| Simple DirectMedia Layer | ||||
| Copyright (C) 1997-2024 Sam Lantinga <slouken@libsdl.org> | ||||
|    | ||||
| This software is provided 'as-is', without any express or implied | ||||
| warranty.  In no event will the authors be held liable for any damages | ||||
| arising from the use of this software. | ||||
|  | ||||
| Permission is granted to anyone to use this software for any purpose, | ||||
| including commercial applications, and to alter it and redistribute it | ||||
| freely, subject to the following restrictions: | ||||
|    | ||||
| 1. The origin of this software must not be misrepresented; you must not | ||||
|    claim that you wrote the original software. If you use this software | ||||
|    in a product, an acknowledgment in the product documentation would be | ||||
|    appreciated but is not required.  | ||||
| 2. Altered source versions must be plainly marked as such, and must not be | ||||
|    misrepresented as being the original software. | ||||
| 3. This notice may not be removed or altered from any source distribution. | ||||
							
								
								
									
										44
									
								
								vendored/sdl/Xcode/SDL/pkg-support/resources/ReadMe.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								vendored/sdl/Xcode/SDL/pkg-support/resources/ReadMe.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| The Simple DirectMedia Layer (SDL for short) is a cross-platform  | ||||
| library designed to make it easy to write multi-media software,  | ||||
| such as games and emulators. | ||||
|  | ||||
| The Simple DirectMedia Layer library source code is available from:  | ||||
| http://www.libsdl.org/ | ||||
|  | ||||
| This library is distributed under the terms of the zlib license:  | ||||
| http://zlib.net/zlib_license.html | ||||
|  | ||||
|  | ||||
| This packages contains the SDL framework for OS X.  | ||||
| Conforming with Apple guidelines, this framework  | ||||
| contains both the SDL runtime component and development header files. | ||||
|  | ||||
|  | ||||
| To Install: | ||||
| Copy the SDL2.framework to /Library/Frameworks | ||||
|  | ||||
| You may alternatively install it in <Your home directory>/Library/Frameworks  | ||||
| if your access privileges are not high enough. | ||||
|  | ||||
|  | ||||
| Use in CMake projects: | ||||
| SDL2.framework can be used in CMake projects using the following pattern: | ||||
| ``` | ||||
| find_package(SDL2 REQUIRED COMPONENTS SDL2) | ||||
| add_executable(my_game ${MY_SOURCES}) | ||||
| target_link_libraries(my_game PRIVATE SDL2::SDL2) | ||||
| ``` | ||||
| If SDL2.framework is installed in a non-standard location, | ||||
| please refer to the following link for ways to configure CMake: | ||||
| https://cmake.org/cmake/help/latest/command/find_package.html#config-mode-search-procedure | ||||
|  | ||||
|  | ||||
| Additional References: | ||||
|  | ||||
|  - Screencast tutorials for getting started with OpenSceneGraph/Mac OS X are  | ||||
|  	available at: | ||||
| 	http://www.openscenegraph.org/projects/osg/wiki/Support/Tutorials/MacOSXTips | ||||
| 	Though these are OpenSceneGraph centric, the same exact concepts apply to  | ||||
| 	SDL, thus the videos are recommended for everybody getting started with | ||||
| 	developing on Mac OS X. (You can skim over the PlugIns stuff since SDL | ||||
| 	doesn't have any PlugIns to worry about.) | ||||
							
								
								
									
										
											BIN
										
									
								
								vendored/sdl/Xcode/SDL/pkg-support/resources/SDL_DS_Store
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								vendored/sdl/Xcode/SDL/pkg-support/resources/SDL_DS_Store
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user