← Commit list

f833d5d1fb

Viktor Szakats
Viktor Szakats
2025-09-22
FAILED Duration: 158s

Subject

cmake: use modern alternatives for `get_filename_component()`

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

CMake/FindGSS.cmake+12 -3
@@ -230,7 +230,11 @@ if(NOT _gss_FOUND) # Not found by pkg-config. Let us take more traditional appr
if(GSS_FLAVOUR)
set(_gss_libdir_suffixes "")
set(_gss_libdir_hints ${_gss_root_hints})
- get_filename_component(_gss_calculated_potential_root "${_gss_INCLUDE_DIRS}" DIRECTORY)
+ if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.20)
+ cmake_path(GET _gss_INCLUDE_DIRS PARENT_PATH _gss_calculated_potential_root)
+ else()
+ get_filename_component(_gss_calculated_potential_root "${_gss_INCLUDE_DIRS}" DIRECTORY)
+ endif()
list(APPEND _gss_libdir_hints ${_gss_calculated_potential_root})
if(WIN32)
@@ -323,8 +327,13 @@ if(GSS_FLAVOUR)
set(GSS_VERSION "Heimdal Unknown")
endif()
elseif(NOT GSS_VERSION AND GSS_FLAVOUR STREQUAL "MIT")
- get_filename_component(_mit_version "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MIT\\Kerberos\\SDK\\CurrentVersion;VersionString]" NAME
- CACHE)
+ if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.24)
+ cmake_host_system_information(RESULT _mit_version QUERY WINDOWS_REGISTRY
+ "HKLM/SOFTWARE/MIT/Kerberos/SDK/CurrentVersion" VALUE "VersionString")
+ else()
+ get_filename_component(_mit_version
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MIT\\Kerberos\\SDK\\CurrentVersion;VersionString]" NAME CACHE)
+ endif()
if(WIN32 AND _mit_version)
set(GSS_VERSION "${_mit_version}")
else()
CMake/FindNGTCP2.cmake+5 -1
@@ -104,7 +104,11 @@ else()
endif()
if(_ngtcp2_crypto_backend)
- get_filename_component(_ngtcp2_library_dir "${NGTCP2_LIBRARY}" DIRECTORY)
+ if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.20)
+ cmake_path(GET NGTCP2_LIBRARY PARENT_PATH _ngtcp2_library_dir)
+ else()
+ get_filename_component(_ngtcp2_library_dir "${NGTCP2_LIBRARY}" DIRECTORY)
+ endif()
find_library(${_crypto_library_upper}_LIBRARY NAMES ${_crypto_library_lower} HINTS ${_ngtcp2_library_dir})
if(${_crypto_library_upper}_LIBRARY)
CMakeLists.txt+7 -2
@@ -2339,8 +2339,13 @@ if(NOT CURL_DISABLE_INSTALL)
elseif(_lib MATCHES "/")
# This gets a bit more complex, because we want to specify the
# directory separately, and only once per directory
- get_filename_component(_libdir ${_lib} DIRECTORY)
- get_filename_component(_libname ${_lib} NAME_WE)
+ if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.20)
+ cmake_path(GET _lib PARENT_PATH _libdir)
+ cmake_path(GET _lib STEM _libname)
+ else()
+ get_filename_component(_libdir "${_lib}" DIRECTORY)
+ get_filename_component(_libname "${_lib}" NAME_WE)
+ endif()
if(_libname MATCHES "^lib")
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.20)
cmake_path(SET _libdir NORMALIZE "${_libdir}")