|
@@ -1,9 +1,11 @@
|
|
|
-if(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
+cmake_minimum_required(VERSION 3.0.0)
|
|
|
+
|
|
|
+if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
|
|
|
message(FATAL_ERROR "Prevented in-tree build. Please create a build directory outside of the SDL source code and run \"cmake -S ${CMAKE_SOURCE_DIR} -B .\" from there")
|
|
|
endif()
|
|
|
|
|
|
-cmake_minimum_required(VERSION 3.0.0)
|
|
|
-project(SDL3 C CXX)
|
|
|
+# See docs/release_checklist.md
|
|
|
+project(SDL3 LANGUAGES C CXX VERSION "3.0.0")
|
|
|
|
|
|
if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
|
|
set(SDL3_SUBPROJECT OFF)
|
|
@@ -75,36 +77,30 @@ if (LIBC_IS_GLIBC AND CMAKE_SIZEOF_VOID_P EQUAL 4)
|
|
|
target_compile_definitions(sdl-build-options INTERFACE "_FILE_OFFSET_BITS=64")
|
|
|
endif()
|
|
|
|
|
|
-# See docs/release_checklist.md
|
|
|
-set(SDL_MAJOR_VERSION 3)
|
|
|
-set(SDL_MINOR_VERSION 0)
|
|
|
-set(SDL_MICRO_VERSION 0)
|
|
|
-set(SDL_VERSION "${SDL_MAJOR_VERSION}.${SDL_MINOR_VERSION}.${SDL_MICRO_VERSION}")
|
|
|
-
|
|
|
# Increment this if there is an incompatible change - but if that happens,
|
|
|
# we should rename the library from SDL3 to SDL4, at which point this would
|
|
|
# reset to 0 anyway.
|
|
|
set(SDL_SO_VERSION_MAJOR "0")
|
|
|
-set(SDL_SO_VERSION_MINOR "${SDL_MINOR_VERSION}")
|
|
|
-set(SDL_SO_VERSION_MICRO "${SDL_MICRO_VERSION}")
|
|
|
-set(SDL_SO_VERSION "${SDL_SO_VERSION_MAJOR}.${SDL_SO_VERSION_MINOR}.${SDL_SO_VERSION_MICRO}")
|
|
|
+set(SDL_SO_VERSION_MINOR "${PROJECT_VERSION_MINOR}")
|
|
|
+set(SDL_SO_VERSION_PATCH "${PROJECT_VERSION_PATCH}")
|
|
|
+set(SDL_SO_VERSION "${SDL_SO_VERSION_MAJOR}.${SDL_SO_VERSION_MINOR}.${SDL_SO_VERSION_PATCH}")
|
|
|
|
|
|
-if(SDL_MINOR_VERSION MATCHES "[02468]$")
|
|
|
- math(EXPR SDL_DYLIB_COMPAT_VERSION_MAJOR "100 * ${SDL_MINOR_VERSION} + 1")
|
|
|
+if(PROJECT_VERSION_MINOR MATCHES "[02468]$")
|
|
|
+ math(EXPR SDL_DYLIB_COMPAT_VERSION_MAJOR "100 * ${PROJECT_VERSION_MINOR} + 1")
|
|
|
set(SDL_DYLIB_COMPAT_VERSION_MINOR "0")
|
|
|
math(EXPR SDL_DYLIB_CURRENT_VERSION_MAJOR "${SDL_DYLIB_COMPAT_VERSION_MAJOR}")
|
|
|
- set(SDL_DYLIB_CURRENT_VERSION_MINOR "${SDL_MICRO_VERSION}")
|
|
|
+ set(SDL_DYLIB_CURRENT_VERSION_MINOR "${PROJECT_VERSION_PATCH}")
|
|
|
else()
|
|
|
- math(EXPR SDL_DYLIB_COMPAT_VERSION_MAJOR "100 * ${SDL_MINOR_VERSION} + ${SDL_MICRO_VERSION} + 1")
|
|
|
+ math(EXPR SDL_DYLIB_COMPAT_VERSION_MAJOR "100 * ${PROJECT_VERSION_MINOR} + ${PROJECT_VERSION_PATCH} + 1")
|
|
|
set(SDL_DYLIB_COMPAT_VERSION_MINOR "0")
|
|
|
math(EXPR SDL_DYLIB_CURRENT_VERSION_MAJOR "${SDL_DYLIB_COMPAT_VERSION_MAJOR}")
|
|
|
set(SDL_DYLIB_CURRENT_VERSION_MINOR "0")
|
|
|
endif()
|
|
|
-set(SDL_DYLIB_COMPAT_VERSION_MICRO "0")
|
|
|
-set(SDL_DYLIB_CURRENT_VERSION_MICRO "0")
|
|
|
+set(SDL_DYLIB_COMPAT_VERSION_PATCH "0")
|
|
|
+set(SDL_DYLIB_COMPAT_VERSION_PATCH "0")
|
|
|
|
|
|
-set(SDL_DYLIB_CURRENT_VERSION "${SDL_DYLIB_CURRENT_VERSION_MAJOR}.${SDL_DYLIB_CURRENT_VERSION_MINOR}.${SDL_DYLIB_CURRENT_VERSION_MICRO}")
|
|
|
-set(SDL_DYLIB_COMPAT_VERSION "${SDL_DYLIB_COMPAT_VERSION_MAJOR}.${SDL_DYLIB_COMPAT_VERSION_MINOR}.${SDL_DYLIB_COMPAT_VERSION_MICRO}")
|
|
|
+set(SDL_DYLIB_CURRENT_VERSION "${SDL_DYLIB_CURRENT_VERSION_MAJOR}.${SDL_DYLIB_CURRENT_VERSION_MINOR}.${SDL_DYLIB_COMPAT_VERSION_PATCH}")
|
|
|
+set(SDL_DYLIB_COMPAT_VERSION "${SDL_DYLIB_COMPAT_VERSION_MAJOR}.${SDL_DYLIB_COMPAT_VERSION_MINOR}.${SDL_DYLIB_COMPAT_VERSION_PATCH}")
|
|
|
|
|
|
#message("SDL_SO_VERSION=${SDL_SO_VERSION} SDL_DYLIB_CURRENT_VERSION=${SDL_DYLIB_CURRENT_VERSION} SDL_DYLIB_COMPAT_VERSION=${SDL_DYLIB_COMPAT_VERSION}")
|
|
|
|
|
@@ -2868,7 +2864,7 @@ else()
|
|
|
# If VERSION does not exist, use git to calculate a version
|
|
|
git_describe(SDL_REVISION_CENTER)
|
|
|
if(NOT SDL_REVISION_CENTER)
|
|
|
- set(SDL_REVISION_CENTER "${SDL_VERSION}-no-vcs")
|
|
|
+ set(SDL_REVISION_CENTER "${SDL3_VERSION}-no-vcs")
|
|
|
endif()
|
|
|
endif()
|
|
|
set(SDL_REVISION "SDL-${SDL_REVISION_CENTER}${SDL_REVISION_SUFFIX}")
|
|
@@ -3197,9 +3193,9 @@ if(SDL_STATIC)
|
|
|
endif()
|
|
|
|
|
|
target_compile_definitions(sdl-build-options INTERFACE
|
|
|
- "SDL_BUILD_MAJOR_VERSION=${SDL_MAJOR_VERSION}"
|
|
|
- "SDL_BUILD_MINOR_VERSION=${SDL_MINOR_VERSION}"
|
|
|
- "SDL_BUILD_MICRO_VERSION=${SDL_MICRO_VERSION}"
|
|
|
+ "SDL_BUILD_MAJOR_VERSION=${PROJECT_VERSION_MAJOR}"
|
|
|
+ "SDL_BUILD_MINOR_VERSION=${PROJECT_VERSION_MINOR}"
|
|
|
+ "SDL_BUILD_MICRO_VERSION=${PROJECT_VERSION_PATCH}"
|
|
|
)
|
|
|
|
|
|
##### Tests #####
|
|
@@ -3318,7 +3314,6 @@ if(NOT SDL3_DISABLE_INSTALL)
|
|
|
INSTALL_DESTINATION "${SDL_INSTALL_CMAKEDIR}"
|
|
|
)
|
|
|
write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/SDL3ConfigVersion.cmake"
|
|
|
- VERSION ${SDL_VERSION}
|
|
|
COMPATIBILITY AnyNewerVersion
|
|
|
)
|
|
|
|