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 ])