From: Christoph GrĂ¼ninger Date: Sat, 29 Mar 2025 01:06:15 +0000 (+0100) Subject: [cmake] Require CMake 3.17 or newer (#2556) X-Git-Tag: v3.8.0~57 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=3a5a34b8211b68709090fcac71c45d9b5f59f4f2;p=thirdparty%2Flibarchive.git [cmake] Require CMake 3.17 or newer (#2556) Remove code for older versions of CMake. CMake 3.14 stopped running on Windows XP and Vista. Fix detection of wcscmo, wcscpy, wcslen --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 55234b5ed..20e77453c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,16 +1,6 @@ # -cmake_minimum_required(VERSION 3.5 FATAL_ERROR) -if(APPLE AND CMAKE_VERSION VERSION_LESS "3.17.0") - message(WARNING "CMake>=3.17.0 required to make the generated shared library have the same Mach-O headers as autotools") -endif() +cmake_minimum_required(VERSION 3.17 FATAL_ERROR) -if(POLICY CMP0074) - cmake_policy(SET CMP0074 NEW) #3.12.0 `find_package()`` uses ``_ROOT`` variables. -endif() -if(POLICY CMP0075) - cmake_policy(SET CMP0075 NEW) #3.12.0 `check_include_file()`` and friends use ``CMAKE_REQUIRED_LIBRARIES``. -endif() -# PROJECT(libarchive C) # SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/cmake") @@ -293,18 +283,6 @@ IF(WIN32) SET(NTDDI_VERSION 0x06000100) SET(_WIN32_WINNT 0x0600) SET(WINVER 0x0600) - ELSEIF(WINDOWS_VERSION STREQUAL "VISTA") - SET(NTDDI_VERSION 0x06000000) - SET(_WIN32_WINNT 0x0600) - SET(WINVER 0x0600) - ELSEIF(WINDOWS_VERSION STREQUAL "WS03") - SET(NTDDI_VERSION 0x05020000) - SET(_WIN32_WINNT 0x0502) - SET(WINVER 0x0502) - ELSEIF(WINDOWS_VERSION STREQUAL "WINXP") - SET(NTDDI_VERSION 0x05010000) - SET(_WIN32_WINNT 0x0501) - SET(WINVER 0x0501) ELSE(WINDOWS_VERSION STREQUAL "WIN10") # Default to Windows Server 2003 API if we don't recognize the specifier SET(NTDDI_VERSION 0x05020000) @@ -1546,9 +1524,9 @@ CHECK_FUNCTION_EXISTS_GLIBC(utimes HAVE_UTIMES) CHECK_FUNCTION_EXISTS_GLIBC(utimensat HAVE_UTIMENSAT) CHECK_FUNCTION_EXISTS_GLIBC(vfork HAVE_VFORK) CHECK_FUNCTION_EXISTS_GLIBC(wcrtomb HAVE_WCRTOMB) -CHECK_FUNCTION_EXISTS_GLIBC(wcscmp HAVE_WCSCMP) -CHECK_FUNCTION_EXISTS_GLIBC(wcscpy HAVE_WCSCPY) -CHECK_FUNCTION_EXISTS_GLIBC(wcslen HAVE_WCSLEN) +check_symbol_exists(wcscmp wchar.h HAVE_WCSCMP) +check_symbol_exists(wcscpy wchar.h HAVE_WCSCPY) +check_symbol_exists(wcslen wchar.h HAVE_WCSLEN) CHECK_FUNCTION_EXISTS_GLIBC(wctomb HAVE_WCTOMB) CHECK_FUNCTION_EXISTS_GLIBC(_fseeki64 HAVE__FSEEKI64) CHECK_FUNCTION_EXISTS_GLIBC(_get_timezone HAVE__GET_TIMEZONE)