mirror of
https://github.com/isar/libmdbx.git
synced 2025-08-19 19:39:26 +08:00
mdbx: поддержка Semantic Versioning.
Было `MAJOR.MINOR.RELEASE.REVISION` Теперь `MAJOR.MINOR.PATCH[.TWEAK][-PRERELEASE][+BUILDMETADATA]` https://semver.org/ - вместо квартета `MAJOR.MINOR.RELEASE.REVISION` триплет c опцинальным четвертым членом `MAJOR.MINOR.PATCH[.TWEAK]` - `TWEAK` не входит в тег git, а формируется автоматически и соответствует кол-ву коммитов после тега git и опускается если 0. - Поле `PRERELEASE` опционально и переносится в версию из тега git. - Поле `BUILDMETADATA` опционально, не входит в тег git, а добавляется во время сборки если задана опцией `MDBX_BUILD_METADATA`.
This commit is contained in:
@@ -195,6 +195,15 @@ else()
|
||||
"PLEASE, AVOID USING ANY OTHER TECHNIQUES.")
|
||||
endif()
|
||||
|
||||
# Provide version
|
||||
include(cmake/utils.cmake)
|
||||
set(MDBX_BUILD_METADATA
|
||||
"${MDBX_BUILD_METADATA}"
|
||||
CACHE STRING "An extra/custom information provided during libmdbx build")
|
||||
semver_provide(MDBX "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
"${MDBX_BUILD_METADATA}" FALSE)
|
||||
message(STATUS "libmdbx version is ${MDBX_VERSION}")
|
||||
|
||||
if(DEFINED PROJECT_NAME)
|
||||
option(
|
||||
MDBX_FORCE_BUILD_AS_MAIN_PROJECT
|
||||
@@ -304,7 +313,6 @@ if(NOT DEFINED THREADS_PREFER_PTHREAD_FLAG)
|
||||
endif()
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
include(cmake/utils.cmake)
|
||||
include(cmake/compiler.cmake)
|
||||
include(cmake/profile.cmake)
|
||||
|
||||
@@ -650,10 +658,6 @@ endif()
|
||||
# ~~~
|
||||
# ##############################################################################
|
||||
|
||||
set(MDBX_BUILD_METADATA
|
||||
""
|
||||
CACHE STRING "An extra/custom information provided during libmdbx build")
|
||||
|
||||
set(MDBX_BUILD_OPTIONS ENABLE_UBSAN ENABLE_ASAN ENABLE_MEMCHECK ENABLE_GPROF
|
||||
ENABLE_GCOV)
|
||||
macro(add_mdbx_option NAME DESCRIPTION DEFAULT)
|
||||
@@ -812,11 +816,6 @@ if(MDBX_BUILD_CXX)
|
||||
probe_libcxx_filesystem()
|
||||
endif()
|
||||
|
||||
# Get version
|
||||
fetch_version(MDBX "${CMAKE_CURRENT_SOURCE_DIR}" FALSE
|
||||
"${CMAKE_CURRENT_BINARY_DIR}")
|
||||
message(STATUS "libmdbx version is ${MDBX_VERSION}")
|
||||
|
||||
# sources list
|
||||
set(LIBMDBX_PUBLIC_HEADERS mdbx.h)
|
||||
set(LIBMDBX_SOURCES mdbx.h "${CMAKE_CURRENT_BINARY_DIR}/config.h")
|
||||
@@ -1370,11 +1369,9 @@ if(NOT SUBPROJECT)
|
||||
set(PACKAGE "libmdbx")
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR ${MDBX_VERSION_MAJOR})
|
||||
set(CPACK_PACKAGE_VERSION_MINOR ${MDBX_VERSION_MINOR})
|
||||
set(CPACK_PACKAGE_VERSION_PATCH ${MDBX_VERSION_RELEASE})
|
||||
set(CPACK_PACKAGE_VERSION_COMMIT ${MDBX_VERSION_REVISION})
|
||||
set(PACKAGE_VERSION
|
||||
"${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.${CPACK_PACKAGE_VERSION_COMMIT}"
|
||||
)
|
||||
set(CPACK_PACKAGE_VERSION_PATCH ${MDBX_VERSION_PATCH})
|
||||
set(CPACK_PACKAGE_VERSION_TWEAK ${MDBX_VERSION_TWEAK})
|
||||
set(PACKAGE_VERSION ${MDBX_VERSION})
|
||||
message(STATUS "libmdbx package version is ${PACKAGE_VERSION}")
|
||||
endif()
|
||||
|
||||
|
Reference in New Issue
Block a user