"Fossies" - the Fresh Open Source Software Archive

Member "evolution-mapi-3.46.1/cmake/modules/PkgConfigEx.cmake" (2 Dec 2022, 2986 Bytes) of package /linux/misc/evolution-mapi-3.46.1.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) CMake source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 # PkgConfigEx.cmake
    2 #
    3 # Extends CMake's PkgConfig module with commands:
    4 #
    5 # pkg_check_modules_for_option(_option_name _option_description _prefix _module0)
    6 #
    7 #    which calls `pkg_check_modules(_prefix _module0)` and if <_prefix>_FOUND is False,
    8 #    then prints an error with a hint to disaable the _option_name if needed.
    9 #
   10 # pkg_check_exists(_output_name _pkg)
   11 #
   12 #    calls pkg-config --exists for _pkg and stores the result to _output_name.
   13 #
   14 # pkg_check_at_least_version(_output_name _pkg _version)
   15 #
   16 #    calls pkg-config --at-least-version=_version for _pkg and stores the result to _output_name.
   17 #
   18 # pkg_check_exact_version(_output_name _pkg _version)
   19 #
   20 #    calls pkg-config --exact-version=_version for _pkg and stores the result to _output_name.
   21 #
   22 # pkg_check_variable(_output_name _pkg _name)
   23 #
   24 #    gets a variable named _name from package _pkg and stores the result into _output_name
   25 
   26 find_package(PkgConfig REQUIRED)
   27 
   28 macro(pkg_check_modules_for_option _option_name _option_description _prefix _module0)
   29     pkg_check_modules(${_prefix} ${_module0} ${ARGN})
   30 
   31     if(NOT ${_prefix}_FOUND)
   32         message(FATAL_ERROR "Necessary libraries not found or not enough version. If you want to disable ${_option_description}, please use -D${_option_name}=OFF argument to cmake command.")
   33     endif(NOT ${_prefix}_FOUND)
   34 endmacro()
   35 
   36 macro(pkg_check_exists _output_name _pkg)
   37     execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --exists ${_pkg}
   38             RESULT_VARIABLE ${_output_name})
   39 
   40     # Negate the result, because 0 means 'found'
   41     if(${_output_name})
   42         set(${_output_name} OFF)
   43     else(${_output_name})
   44         set(${_output_name} ON)
   45     endif(${_output_name})
   46 endmacro()
   47 
   48 macro(pkg_check_at_least_version _output_name _pkg _version)
   49     execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --atleast-version=${_version} ${_pkg}
   50             RESULT_VARIABLE ${_output_name})
   51 
   52     # Negate the result, because 0 means 'found'
   53     if(${_output_name})
   54         set(${_output_name} OFF)
   55     else(${_output_name})
   56         set(${_output_name} ON)
   57     endif(${_output_name})
   58 endmacro()
   59 
   60 macro(pkg_check_exact_version _output_name _pkg _version)
   61     execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --exact-version=${_version} ${_pkg}
   62             RESULT_VARIABLE ${_output_name})
   63 
   64     # Negate the result, because 0 means 'found'
   65     if(${_output_name})
   66         set(${_output_name} OFF)
   67     else(${_output_name})
   68         set(${_output_name} ON)
   69     endif(${_output_name})
   70 endmacro()
   71 
   72 function(pkg_check_variable _output_name _pkg _name)
   73     execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=${_name} ${_pkg}
   74                     OUTPUT_VARIABLE _pkg_result
   75                     OUTPUT_STRIP_TRAILING_WHITESPACE)
   76 
   77     set("${_output_name}" "${_pkg_result}" CACHE STRING "pkg-config variable ${_name} of ${_pkg}")
   78 endfunction()
   79 
   80 macro(add_pkgconfig_file _input _output)
   81     configure_file(
   82         ${CMAKE_CURRENT_SOURCE_DIR}/${_input}
   83         ${CMAKE_CURRENT_BINARY_DIR}/${_output}
   84         @ONLY
   85     )
   86 
   87     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${_output}
   88         DESTINATION ${LIB_INSTALL_DIR}/pkgconfig
   89     )
   90 endmacro()