mirror of
https://github.com/isar/libmdbx.git
synced 2025-08-23 21:14:28 +08:00
mdbx-cmake: новые настройки cmake-format (косметика).
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2012-2024 Леонид Юрьев aka Leonid Yuriev <leo@yuriev.ru>
|
||||
# Copyright (c) 2012-2024 Леонид Юрьев aka Leonid Yuriev <leo@yuriev.ru> ###############################################
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if(CMAKE_VERSION VERSION_LESS 3.8.2)
|
||||
@@ -27,10 +27,8 @@ macro(add_compile_flags languages)
|
||||
endmacro(add_compile_flags)
|
||||
|
||||
macro(remove_flag varname flag)
|
||||
string(REGEX REPLACE "^(.*)( ${flag} )(.*)$" "\\1 \\3" ${varname}
|
||||
${${varname}})
|
||||
string(REGEX REPLACE "^((.+ )*)(${flag})(( .+)*)$" "\\1\\4" ${varname}
|
||||
${${varname}})
|
||||
string(REGEX REPLACE "^(.*)( ${flag} )(.*)$" "\\1 \\3" ${varname} ${${varname}})
|
||||
string(REGEX REPLACE "^((.+ )*)(${flag})(( .+)*)$" "\\1\\4" ${varname} ${${varname}})
|
||||
endmacro(remove_flag)
|
||||
|
||||
macro(remove_compile_flag languages flag)
|
||||
@@ -51,9 +49,8 @@ macro(set_source_files_compile_flags)
|
||||
set(_lang "")
|
||||
if("${_file_ext}" STREQUAL ".m")
|
||||
set(_lang OBJC)
|
||||
# CMake believes that Objective C is a flavor of C++, not C, and uses g++
|
||||
# compiler for .m files. LANGUAGE property forces CMake to use CC for
|
||||
# ${file}
|
||||
# CMake believes that Objective C is a flavor of C++, not C, and uses g++ compiler for .m files. LANGUAGE property
|
||||
# forces CMake to use CC for ${file}
|
||||
set_source_files_properties(${file} PROPERTIES LANGUAGE C)
|
||||
elseif("${_file_ext}" STREQUAL ".mm")
|
||||
set(_lang OBJCXX)
|
||||
@@ -87,10 +84,8 @@ macro(semver_parse str)
|
||||
set(_semver_prerelease "")
|
||||
set(_semver_buildmetadata_withplus "")
|
||||
set(_semver_buildmetadata "")
|
||||
if("${str}"
|
||||
MATCHES
|
||||
"^v?(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*))?([-+]-*[0-9a-zA-Z]+.*)?$"
|
||||
)
|
||||
if("${str}" MATCHES
|
||||
"^v?(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*))?([-+]-*[0-9a-zA-Z]+.*)?$")
|
||||
set(_semver_major ${CMAKE_MATCH_1})
|
||||
set(_semver_minor ${CMAKE_MATCH_2})
|
||||
set(_semver_patch ${CMAKE_MATCH_3})
|
||||
@@ -102,13 +97,11 @@ macro(semver_parse str)
|
||||
elseif("${_semver_extra}" MATCHES "^([.-][a-zA-Z0-9-]+)*(\\+[^+]+)?$")
|
||||
set(_semver_prerelease_withdash "${CMAKE_MATCH_1}")
|
||||
if(NOT "${_semver_prerelease_withdash}" STREQUAL "")
|
||||
string(SUBSTRING "${_semver_prerelease_withdash}" 1 -1
|
||||
_semver_prerelease)
|
||||
string(SUBSTRING "${_semver_prerelease_withdash}" 1 -1 _semver_prerelease)
|
||||
endif()
|
||||
set(_semver_buildmetadata_withplus "${CMAKE_MATCH_2}")
|
||||
if(NOT "${_semver_buildmetadata_withplus}" STREQUAL "")
|
||||
string(SUBSTRING "${_semver_buildmetadata_withplus}" 1 -1
|
||||
_semver_buildmetadata)
|
||||
string(SUBSTRING "${_semver_buildmetadata_withplus}" 1 -1 _semver_buildmetadata)
|
||||
endif()
|
||||
set(_semver_ok TRUE)
|
||||
else()
|
||||
@@ -117,19 +110,14 @@ macro(semver_parse str)
|
||||
)
|
||||
endif()
|
||||
else()
|
||||
set(_semver_err
|
||||
"Версионная отметка в целом не соответствует шаблону `0.0.0[.0][-foo][+bar]` SemVer-спецификации"
|
||||
)
|
||||
set(_semver_err "Версионная отметка в целом не соответствует шаблону `0.0.0[.0][-foo][+bar]` SemVer-спецификации")
|
||||
endif()
|
||||
endmacro(semver_parse)
|
||||
|
||||
function(_semver_parse_probe str expect)
|
||||
semver_parse(${str})
|
||||
if(expect AND NOT _semver_ok)
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"semver_parse(${str}) expect SUCCESS, got ${_semver_ok}: ${_semver_err}"
|
||||
)
|
||||
message(FATAL_ERROR "semver_parse(${str}) expect SUCCESS, got ${_semver_ok}: ${_semver_err}")
|
||||
elseif(NOT expect AND _semver_ok)
|
||||
message(FATAL_ERROR "semver_parse(${str}) expect FAIL, got ${_semver_ok}")
|
||||
endif()
|
||||
@@ -150,8 +138,7 @@ function(semver_parse_selfcheck)
|
||||
_semver_parse_probe("1.0.0-alpha.1" TRUE)
|
||||
_semver_parse_probe("1.0.0-alpha0.valid" TRUE)
|
||||
_semver_parse_probe("1.0.0-alpha.0valid" TRUE)
|
||||
_semver_parse_probe("1.0.0-alpha-a.b-c-somethinglong+build.1-aef.1-its-okay"
|
||||
TRUE)
|
||||
_semver_parse_probe("1.0.0-alpha-a.b-c-somethinglong+build.1-aef.1-its-okay" TRUE)
|
||||
_semver_parse_probe("1.0.0-rc.1+build.1" TRUE)
|
||||
_semver_parse_probe("2.0.0-rc.1+build.123" TRUE)
|
||||
_semver_parse_probe("1.2.3-beta" TRUE)
|
||||
@@ -167,14 +154,12 @@ function(semver_parse_selfcheck)
|
||||
_semver_parse_probe("1.2.3----R-S.12.9.1--.12+meta" TRUE)
|
||||
_semver_parse_probe("1.2.3----RC-SNAPSHOT.12.9.1--.12" TRUE)
|
||||
_semver_parse_probe("1.0.0+0.build.1-rc.10000aaa-kk-0.1" TRUE)
|
||||
_semver_parse_probe(
|
||||
"99999999999999999999999.999999999999999999.99999999999999999" TRUE)
|
||||
_semver_parse_probe("99999999999999999999999.999999999999999999.99999999999999999" TRUE)
|
||||
_semver_parse_probe("v1.0.0-0A.is.legal" TRUE)
|
||||
|
||||
_semver_parse_probe("1" FALSE)
|
||||
_semver_parse_probe("1.2" FALSE)
|
||||
# _semver_parse_probe("1.2.3-0123" FALSE)
|
||||
# _semver_parse_probe("1.2.3-0123.0123" FALSE)
|
||||
# _semver_parse_probe("1.2.3-0123" FALSE) _semver_parse_probe("1.2.3-0123.0123" FALSE)
|
||||
_semver_parse_probe("1.1.2+.123" FALSE)
|
||||
_semver_parse_probe("+invalid" FALSE)
|
||||
_semver_parse_probe("-invalid" FALSE)
|
||||
@@ -238,10 +223,7 @@ macro(git_get_versioninfo source_root_directory)
|
||||
WORKING_DIRECTORY ${source_root_directory}
|
||||
RESULT_VARIABLE _rc)
|
||||
if(_rc OR "${_git_timestamp}" STREQUAL "%ci")
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"Please install latest version of git (`show --no-patch --format=%cI HEAD` failed)"
|
||||
)
|
||||
message(FATAL_ERROR "Please install latest version of git (`show --no-patch --format=%cI HEAD` failed)")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -252,10 +234,7 @@ macro(git_get_versioninfo source_root_directory)
|
||||
WORKING_DIRECTORY ${source_root_directory}
|
||||
RESULT_VARIABLE _rc)
|
||||
if(_rc OR "${_git_tree}" STREQUAL "")
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"Please install latest version of git (`show --no-patch --format=%T HEAD` failed)"
|
||||
)
|
||||
message(FATAL_ERROR "Please install latest version of git (`show --no-patch --format=%T HEAD` failed)")
|
||||
endif()
|
||||
|
||||
execute_process(
|
||||
@@ -265,10 +244,7 @@ macro(git_get_versioninfo source_root_directory)
|
||||
WORKING_DIRECTORY ${source_root_directory}
|
||||
RESULT_VARIABLE _rc)
|
||||
if(_rc OR "${_git_commit}" STREQUAL "")
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"Please install latest version of git (`show --no-patch --format=%H HEAD` failed)"
|
||||
)
|
||||
message(FATAL_ERROR "Please install latest version of git (`show --no-patch --format=%H HEAD` failed)")
|
||||
endif()
|
||||
|
||||
execute_process(
|
||||
@@ -278,10 +254,7 @@ macro(git_get_versioninfo source_root_directory)
|
||||
WORKING_DIRECTORY ${source_root_directory}
|
||||
RESULT_VARIABLE _rc)
|
||||
if(_rc)
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"Please install latest version of git (`status --untracked-files=no --porcelain` failed)"
|
||||
)
|
||||
message(FATAL_ERROR "Please install latest version of git (`status --untracked-files=no --porcelain` failed)")
|
||||
endif()
|
||||
if(NOT "${_git_status}" STREQUAL "")
|
||||
set(_git_commit "DIRTY-${_git_commit}")
|
||||
@@ -311,18 +284,12 @@ macro(git_get_versioninfo source_root_directory)
|
||||
if(_rc)
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"Please install latest version of git (`git rev-list --count --no-merges --remove-empty HEAD` failed)"
|
||||
)
|
||||
"Please install latest version of git (`git rev-list --count --no-merges --remove-empty HEAD` failed)")
|
||||
endif()
|
||||
if(_git_whole_count GREATER 42 AND "${_git_tags_dump}" STREQUAL "")
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"Please fetch tags (`describe --tags --abbrev=0 --match=v[0-9]*` failed)"
|
||||
)
|
||||
message(FATAL_ERROR "Please fetch tags (`describe --tags --abbrev=0 --match=v[0-9]*` failed)")
|
||||
else()
|
||||
message(
|
||||
NOTICE
|
||||
"Falling back to version `0.0.0` (have you made an initial release?")
|
||||
message(NOTICE "Falling back to version `0.0.0` (have you made an initial release?")
|
||||
endif()
|
||||
set(_git_last_vtag "0.0.0")
|
||||
set(_git_trailing_commits ${_git_whole_count})
|
||||
@@ -340,10 +307,7 @@ macro(git_get_versioninfo source_root_directory)
|
||||
WORKING_DIRECTORY ${source_root_directory}
|
||||
RESULT_VARIABLE _rc)
|
||||
if(_rc OR "${_git_describe}" STREQUAL "")
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"Please install latest version of git (`describe --tags --all --long` failed)"
|
||||
)
|
||||
message(FATAL_ERROR "Please install latest version of git (`describe --tags --all --long` failed)")
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
@@ -354,10 +318,7 @@ macro(git_get_versioninfo source_root_directory)
|
||||
WORKING_DIRECTORY ${source_root_directory}
|
||||
RESULT_VARIABLE _rc)
|
||||
if(_rc OR "${_git_describe}" STREQUAL "")
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"Please install latest version of git (`describe --tags --long --match=v[0-9]*`)"
|
||||
)
|
||||
message(FATAL_ERROR "Please install latest version of git (`describe --tags --long --match=v[0-9]*`)")
|
||||
endif()
|
||||
execute_process(
|
||||
COMMAND ${GIT} rev-list --count "${_git_last_vtag}..HEAD"
|
||||
@@ -366,16 +327,12 @@ macro(git_get_versioninfo source_root_directory)
|
||||
WORKING_DIRECTORY ${source_root_directory}
|
||||
RESULT_VARIABLE _rc)
|
||||
if(_rc OR "${_git_trailing_commits}" STREQUAL "")
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"Please install latest version of git (`rev-list --count ${_git_last_vtag}..HEAD` failed)"
|
||||
)
|
||||
message(FATAL_ERROR "Please install latest version of git (`rev-list --count ${_git_last_vtag}..HEAD` failed)")
|
||||
endif()
|
||||
endif()
|
||||
endmacro(git_get_versioninfo)
|
||||
|
||||
macro(semver_provide name source_root_directory build_directory_for_json_output
|
||||
build_metadata parent_scope)
|
||||
macro(semver_provide name source_root_directory build_directory_for_json_output build_metadata parent_scope)
|
||||
set(_semver "")
|
||||
set(_git_describe "")
|
||||
set(_git_timestamp "")
|
||||
@@ -395,11 +352,9 @@ macro(semver_provide name source_root_directory build_directory_for_json_output
|
||||
RESULT_VARIABLE _rc)
|
||||
if(_rc OR "${_git_root}" STREQUAL "")
|
||||
if(EXISTS "${source_root_directory}/.git")
|
||||
message(ERROR
|
||||
"`git rev-parse --show-toplevel` failed '${_git_root_error}'")
|
||||
message(ERROR "`git rev-parse --show-toplevel` failed '${_git_root_error}'")
|
||||
else()
|
||||
message(VERBOSE
|
||||
"`git rev-parse --show-toplevel` failed '${_git_root_error}'")
|
||||
message(VERBOSE "`git rev-parse --show-toplevel` failed '${_git_root_error}'")
|
||||
endif()
|
||||
else()
|
||||
set(_source_root "${source_root_directory}")
|
||||
@@ -420,8 +375,7 @@ macro(semver_provide name source_root_directory build_directory_for_json_output
|
||||
set(_version_from "${source_root_directory}/VERSION.json")
|
||||
|
||||
if(CMAKE_VERSION VERSION_LESS 3.19)
|
||||
message(
|
||||
FATAL_ERROR "Требуется CMake версии >= 3.19 для чтения VERSION.json")
|
||||
message(FATAL_ERROR "Требуется CMake версии >= 3.19 для чтения VERSION.json")
|
||||
endif()
|
||||
file(
|
||||
STRINGS "${_version_from}" _versioninfo_json NEWLINE_CONSUME
|
||||
@@ -435,14 +389,11 @@ macro(semver_provide name source_root_directory build_directory_for_json_output
|
||||
string(JSON _semver GET "${_versioninfo_json}" "semver")
|
||||
unset(_json_object)
|
||||
if(NOT _semver)
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"Unable to retrieve ${name} version from \"${_version_from}\" file.")
|
||||
message(FATAL_ERROR "Unable to retrieve ${name} version from \"${_version_from}\" file.")
|
||||
endif()
|
||||
semver_parse("${_semver}")
|
||||
if(NOT _semver_ok)
|
||||
message(
|
||||
FATAL_ERROR "SemVer `${_semver}` from ${_version_from}: ${_semver_err}")
|
||||
message(FATAL_ERROR "SemVer `${_semver}` from ${_version_from}: ${_semver_err}")
|
||||
endif()
|
||||
elseif(_git_root AND _source_root STREQUAL _git_root)
|
||||
set(_version_from git)
|
||||
@@ -551,8 +502,7 @@ macro(semver_provide name source_root_directory build_directory_for_json_output
|
||||
\"semver\" : \"@_semver@\"\n}"
|
||||
_versioninfo_json
|
||||
@ONLY ESCAPE_QUOTES)
|
||||
file(WRITE "${build_directory_for_json_output}/VERSION.json"
|
||||
"${_versioninfo_json}")
|
||||
file(WRITE "${build_directory_for_json_output}/VERSION.json" "${_versioninfo_json}")
|
||||
endif()
|
||||
endmacro(semver_provide)
|
||||
|
||||
|
Reference in New Issue
Block a user