1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-05-08 22:37:04 +08:00
CMake/Auxiliary/cmake.m4
Peter Kokot d5793a6e57
cmake.m4: Update Autoconf macros documentation
This updates the documentation for the CMAKE_FIND_BINARY and
CMAKE_FIND_PACKAGE Autoconf macros to imitate other Autoconf macros
internal documentation style with some stylistic adjustments for
readability of the arguments.

- CMAKE_FIND_PACKAGE: Links to docs are added instead of listing
  compiler IDs. The 5th ($5) and 6th ($6) arguments descriptions are
  updated to be action-if-found and action-if-not-found according to the
  current code.
2025-03-23 16:09:02 +01:00

69 lines
2.2 KiB
Plaintext

dnl Distributed under the OSI-approved BSD 3-Clause License. See accompanying
dnl file LICENSE.rst or https://cmake.org/licensing for details.
# CMAKE_FIND_BINARY
# -----------------
# Finds the cmake command-line binary and sets its absolute path in the
# CMAKE_BINARY variable.
AC_DEFUN([CMAKE_FIND_BINARY],
[AC_ARG_VAR([CMAKE_BINARY], [path to the cmake binary])dnl
if test "x$ac_cv_env_CMAKE_BINARY_set" != "xset"; then
AC_PATH_TOOL([CMAKE_BINARY], [cmake])dnl
fi
])dnl
# CMAKE_FIND_PACKAGE(package, lang, [compiler-id], [cmake-args],
# [action-if-found], [action-if-not-found])
# --------------------------------------------------------------
# Finds a package with CMake.
#
# package:
# The name of the package as called in CMake with find_package(package).
#
# lang:
# The programming language to use (e.g., C, CXX, Fortran).
# See https://cmake.org/cmake/help/latest/command/enable_language.html
# for a complete list of supported languages.
#
# compiler-id:
# (Optional) The compiler ID to use. Defaults to GNU.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_ID.html
# for possible values.
#
# cmake-args:
# (Optional) Additional arguments to pass to cmake command, e.g.,
# -DCMAKE_SIZEOF_VOID_P=8.
#
# action-if-found:
# (Optional) Commands to execute if the package is found.
#
# action-if-not-found:
# (Optional) Commands to execute if the package is not found.
AC_DEFUN([CMAKE_FIND_PACKAGE], [
AC_REQUIRE([CMAKE_FIND_BINARY])dnl
AC_ARG_VAR([$1][_][$2][FLAGS], [$2 compiler flags for $1. This overrides the cmake output])dnl
AC_ARG_VAR([$1][_LIBS], [linker flags for $1. This overrides the cmake output])dnl
failed=false
AC_MSG_CHECKING([for $1])
if test -z "${$1[]_$2[]FLAGS}"; then
$1[]_$2[]FLAGS=`$CMAKE_BINARY --find-package "-DNAME=$1" "-DCOMPILER_ID=m4_default([$3], [GNU])" "-DLANGUAGE=$2" -DMODE=COMPILE $4` || failed=true
fi
if test -z "${$1[]_LIBS}"; then
$1[]_LIBS=`$CMAKE_BINARY --find-package "-DNAME=$1" "-DCOMPILER_ID=m4_default([$3], [GNU])" "-DLANGUAGE=$2" -DMODE=LINK $4` || failed=true
fi
if $failed; then
unset $1[]_$2[]FLAGS
unset $1[]_LIBS
AC_MSG_RESULT([no])
$6
else
AC_MSG_RESULT([yes])
$5
fi[]dnl
])