mirror of
https://github.com/isar/libmdbx.git
synced 2025-08-23 09:04:26 +08:00
mdbx-cmake: совместимость с CMake 3.0.2 для CI на старых системах.
This commit is contained in:
@@ -13,7 +13,9 @@
|
||||
## limitations under the License.
|
||||
##
|
||||
|
||||
if(CMAKE_VERSION VERSION_LESS 3.12)
|
||||
if(CMAKE_VERSION VERSION_LESS 3.8.2)
|
||||
cmake_minimum_required(VERSION 3.0.2)
|
||||
elseif(CMAKE_VERSION VERSION_LESS 3.12)
|
||||
cmake_minimum_required(VERSION 3.8.2)
|
||||
else()
|
||||
cmake_minimum_required(VERSION 3.12)
|
||||
@@ -958,12 +960,13 @@ endmacro(setup_compile_flags)
|
||||
macro(probe_libcxx_filesystem)
|
||||
if(CMAKE_CXX_COMPILER_LOADED AND NOT DEFINED LIBCXX_FILESYSTEM)
|
||||
list(FIND CMAKE_CXX_COMPILE_FEATURES cxx_std_11 HAS_CXX11)
|
||||
if(NOT HAS_CXX11 LESS 0)
|
||||
if(NOT HAS_CXX11 LESS 0 OR CXX_FALLBACK_GNU11 OR CXX_FALLBACK_11)
|
||||
include(CMakePushCheckState)
|
||||
include(CheckCXXSourceCompiles)
|
||||
cmake_push_check_state()
|
||||
set(stdfs_probe_save_libraries ${CMAKE_REQUIRED_LIBRARIES})
|
||||
set(stdfs_probe_save_flags ${CMAKE_REQUIRED_FLAGS})
|
||||
set(stdfs_probe_flags ${CMAKE_REQUIRED_FLAGS})
|
||||
set(stdfs_probe_save_link_options ${CMAKE_REQUIRED_LINK_OPTIONS})
|
||||
unset(stdfs_probe_clear_cxx_standard)
|
||||
if(NOT DEFINED CMAKE_CXX_STANDARD)
|
||||
@@ -974,18 +977,23 @@ macro(probe_libcxx_filesystem)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
elseif(NOT HAS_CXX14 LESS 0)
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
else()
|
||||
elseif(NOT HAS_CXX11 LESS 0)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
elseif(CXX_FALLBACK_GNU11)
|
||||
set(stdfs_probe_flags ${stdfs_probe_flags} "-std=gnu++11")
|
||||
else()
|
||||
set(stdfs_probe_flags ${stdfs_probe_flags} "-std=c++11")
|
||||
endif()
|
||||
set(stdfs_probe_clear_cxx_standard ON)
|
||||
endif()
|
||||
if(CMAKE_COMPILER_IS_ELBRUSCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 1.25.23)
|
||||
if(CMAKE_VERSION VERSION_LESS 3.14)
|
||||
set(CMAKE_REQUIRED_FLAGS ${stdfs_probe_save_flags} "-Wl,--allow-multiple-definition")
|
||||
set(stdfs_probe_flags ${stdfs_probe_flags} "-Wl,--allow-multiple-definition")
|
||||
else()
|
||||
set(CMAKE_REQUIRED_LINK_OPTIONS ${stdfs_probe_save_link_options} "-Wl,--allow-multiple-definition")
|
||||
endif()
|
||||
endif()
|
||||
set(CMAKE_REQUIRED_FLAGS ${stdfs_probe_flags})
|
||||
|
||||
set(stdfs_probe_code [[
|
||||
#if defined(__SIZEOF_INT128__) && !defined(__GLIBCXX_TYPE_INT_N_0) && defined(__clang__) && __clang_major__ < 4
|
||||
@@ -1066,6 +1074,7 @@ macro(probe_libcxx_filesystem)
|
||||
unset(stdfs_probe_clear_cxx_standard)
|
||||
unset(stdfs_probe_save_link_options)
|
||||
unset(stdfs_probe_save_flags)
|
||||
unset(stdfs_probe_flags)
|
||||
unset(stdfs_probe_save_libraries)
|
||||
unset(stdfs_probe_code)
|
||||
unset(stdfs_probe_rc)
|
||||
|
@@ -13,7 +13,9 @@
|
||||
## limitations under the License.
|
||||
##
|
||||
|
||||
if(CMAKE_VERSION VERSION_LESS 3.12)
|
||||
if(CMAKE_VERSION VERSION_LESS 3.8.2)
|
||||
cmake_minimum_required(VERSION 3.0.2)
|
||||
elseif(CMAKE_VERSION VERSION_LESS 3.12)
|
||||
cmake_minimum_required(VERSION 3.8.2)
|
||||
else()
|
||||
cmake_minimum_required(VERSION 3.12)
|
||||
|
@@ -13,7 +13,9 @@
|
||||
## limitations under the License.
|
||||
##
|
||||
|
||||
if(CMAKE_VERSION VERSION_LESS 3.12)
|
||||
if(CMAKE_VERSION VERSION_LESS 3.8.2)
|
||||
cmake_minimum_required(VERSION 3.0.2)
|
||||
elseif(CMAKE_VERSION VERSION_LESS 3.12)
|
||||
cmake_minimum_required(VERSION 3.8.2)
|
||||
else()
|
||||
cmake_minimum_required(VERSION 3.12)
|
||||
|
Reference in New Issue
Block a user