mirror of
https://github.com/Kitware/CMake.git
synced 2026-02-24 08:38:39 -06:00
FindPkgConfig: use new version checking "library >= version" syntax
Instead of the deprecated --atleast-version one.
This commit is contained in:
@@ -360,39 +360,26 @@ macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cma
|
|||||||
set(_pkg_check_modules_pkg_ver)
|
set(_pkg_check_modules_pkg_ver)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# handle the operands
|
|
||||||
if (_pkg_check_modules_pkg_op STREQUAL ">=")
|
|
||||||
list(APPEND _pkg_check_modules_exist_query --atleast-version)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (_pkg_check_modules_pkg_op STREQUAL "=")
|
|
||||||
list(APPEND _pkg_check_modules_exist_query --exact-version)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (_pkg_check_modules_pkg_op STREQUAL "<=")
|
|
||||||
list(APPEND _pkg_check_modules_exist_query --max-version)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# create the final query which is of the format:
|
|
||||||
# * --atleast-version <version> <pkg-name>
|
|
||||||
# * --exact-version <version> <pkg-name>
|
|
||||||
# * --max-version <version> <pkg-name>
|
|
||||||
# * --exists <pkg-name>
|
|
||||||
if (_pkg_check_modules_pkg_op)
|
|
||||||
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_ver}")
|
|
||||||
else()
|
|
||||||
list(APPEND _pkg_check_modules_exist_query --exists)
|
|
||||||
endif()
|
|
||||||
list(APPEND _pkg_check_modules_exist_query --print-errors --short-errors)
|
|
||||||
|
|
||||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_VERSION)
|
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_VERSION)
|
||||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_PREFIX)
|
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_PREFIX)
|
||||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_INCLUDEDIR)
|
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_INCLUDEDIR)
|
||||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_LIBDIR)
|
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_LIBDIR)
|
||||||
|
|
||||||
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}")
|
|
||||||
list(APPEND _pkg_check_modules_packages "${_pkg_check_modules_pkg_name}")
|
list(APPEND _pkg_check_modules_packages "${_pkg_check_modules_pkg_name}")
|
||||||
|
|
||||||
|
# create the final query which is of the format:
|
||||||
|
# * <pkg-name> >= <version>
|
||||||
|
# * <pkg-name> = <version>
|
||||||
|
# * <pkg-name> <= <version>
|
||||||
|
# * --exists <pkg-name>
|
||||||
|
list(APPEND _pkg_check_modules_exist_query --print-errors --short-errors)
|
||||||
|
if (_pkg_check_modules_pkg_op)
|
||||||
|
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name} ${_pkg_check_modules_pkg_op} ${_pkg_check_modules_pkg_ver}")
|
||||||
|
else()
|
||||||
|
list(APPEND _pkg_check_modules_exist_query --exists)
|
||||||
|
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}")
|
||||||
|
endif()
|
||||||
|
|
||||||
# execute the query
|
# execute the query
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND ${PKG_CONFIG_EXECUTABLE} ${_pkg_check_modules_exist_query}
|
COMMAND ${PKG_CONFIG_EXECUTABLE} ${_pkg_check_modules_exist_query}
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
@ECHO OFF
|
@ECHO OFF
|
||||||
|
|
||||||
|
:LOOP
|
||||||
|
|
||||||
IF "%1"=="" (
|
IF "%1"=="" (
|
||||||
EXIT /B 255
|
EXIT /B 255
|
||||||
)
|
)
|
||||||
|
|
||||||
IF "%1"=="--version" (
|
IF "%1"=="--version" (
|
||||||
ECHO 0.0-cmake-dummy
|
ECHO 0.0-cmake-dummy
|
||||||
EXIT /B 0
|
EXIT /B 0
|
||||||
@@ -13,6 +17,11 @@ IF "%1"=="--exists" (
|
|||||||
ECHO Found: %PKG_CONFIG_PATH%
|
ECHO Found: %PKG_CONFIG_PATH%
|
||||||
IF NOT "%*"=="%PKG_CONFIG_PATH%" (
|
IF NOT "%*"=="%PKG_CONFIG_PATH%" (
|
||||||
EXIT /B 1
|
EXIT /B 1
|
||||||
|
) ELSE (
|
||||||
|
EXIT /B 0
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
EXIT /B 0
|
SHIFT
|
||||||
|
IF NOT "%~1"=="" GOTO LOOP
|
||||||
|
|
||||||
|
EXIT /B 255
|
||||||
|
|||||||
@@ -4,18 +4,20 @@
|
|||||||
# to the --exists argument with the PKG_CONFIG_PATH environment variable
|
# to the --exists argument with the PKG_CONFIG_PATH environment variable
|
||||||
# and returns 1 if they are different.
|
# and returns 1 if they are different.
|
||||||
|
|
||||||
case $1 in
|
while [ $# -gt 0 ]; do
|
||||||
--version)
|
case $1 in
|
||||||
echo "0.0-cmake-dummy"
|
--version)
|
||||||
;;
|
echo "0.0-cmake-dummy"
|
||||||
--exists)
|
exit 0
|
||||||
shift
|
;;
|
||||||
eval last=\${$#}
|
--exists)
|
||||||
echo "Expected: ${last}"
|
shift
|
||||||
echo "Found: ${PKG_CONFIG_PATH}"
|
eval last=\${$#}
|
||||||
[ "${last}" = "${PKG_CONFIG_PATH}" ] || exit 1
|
echo "Expected: ${last}"
|
||||||
;;
|
echo "Found: ${PKG_CONFIG_PATH}"
|
||||||
*)
|
[ "${last}" = "${PKG_CONFIG_PATH}" ] && exit 0 || exit 1
|
||||||
exit 255
|
;;
|
||||||
;;
|
esac
|
||||||
esac
|
shift
|
||||||
|
done
|
||||||
|
exit 255
|
||||||
|
|||||||
Reference in New Issue
Block a user