| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- #[=======================================================================[.rst
- FindSysinfo
- -----------
- FindModule for Sysinfo and associated libraries
- .. versionchanged:: 3.0
- Updated FindModule to CMake standards
- Imported Targets
- ^^^^^^^^^^^^^^^^
- .. versionadded:: 2.0
- This module defines the :prop_tgt:`IMPORTED` target ``Sysinfo::Sysinfo``.
- Result Variables
- ^^^^^^^^^^^^^^^^
- This module sets the following variables:
- ``Sysinfo_FOUND``
- True, if all required components and the core library were found.
- ``Sysinfo_VERSION``
- Detected version of found Sysinfo libraries.
- Cache variables
- ^^^^^^^^^^^^^^^
- The following cache variables may also be set:
- ``Sysinfo_LIBRARY``
- Path to the library component of Sysinfo.
- ``Sysinfo_INCLUDE_DIR``
- Directory containing ``sys/sysinfo.h``.
- #]=======================================================================]
- include(FindPackageHandleStandardArgs)
- find_package(PkgConfig QUIET)
- if(PKG_CONFIG_FOUND)
- pkg_search_module(PC_Sysinfo QUIET sysinfo)
- endif()
- find_path(
- Sysinfo_INCLUDE_DIR
- NAMES sys/sysinfo.h
- HINTS ${PC_Sysinfo_INCLUDE_DIRS}
- PATHS /usr/include /usr/local/include
- DOC "Sysinfo include directory"
- )
- find_library(
- Sysinfo_LIBRARY
- NAMES sysinfo libsysinfo
- HINTS ${PC_Sysinfo_LIBRARY_DIRS}
- PATHS /usr/lib /usr/local/lib
- DOC "Sysinfo location"
- )
- if(PC_Sysinfo_VERSION VERSION_GREATER 0)
- set(Sysinfo_VERSION ${PC_Sysinfo_VERSION})
- else()
- if(NOT Sysinfo_FIND_QUIETLY)
- message(AUTHOR_WARNING "Failed to find Sysinfo version.")
- endif()
- set(Sysinfo_VERSION 0.0.0)
- endif()
- find_package_handle_standard_args(
- Sysinfo
- REQUIRED_VARS Sysinfo_LIBRARY Sysinfo_INCLUDE_DIR
- VERSION_VAR Sysinfo_VERSION
- REASON_FAILURE_MESSAGE "Ensure that Sysinfo is installed on the system."
- )
- mark_as_advanced(Sysinfo_INCLUDE_DIR Sysinfo_LIBRARY)
- if(Sysinfo_FOUND)
- if(NOT TARGET Sysinfo::Sysinfo)
- if(IS_ABSOLUTE "${Sysinfo_LIBRARY}")
- add_library(Sysinfo::Sysinfo UNKNOWN IMPORTED)
- set_property(TARGET Sysinfo::Sysinfo PROPERTY IMPORTED_LOCATION "${Sysinfo_LIBRARY}")
- else()
- add_library(Sysinfo::Sysinfo INTERFACE IMPORTED)
- set_property(TARGET Sysinfo::Sysinfo PROPERTY IMPORTED_LIBNAME "${Sysinfo_LIBRARY}")
- endif()
- set_target_properties(
- Sysinfo::Sysinfo
- PROPERTIES
- INTERFACE_COMPILE_OPTIONS "${PC_Sysinfo_CFLAGS_OTHER}"
- INTERFACE_INCLUDE_DIRECTORIES "${Sysinfo_INCLUDE_DIR}"
- VERSION ${Sysinfo_VERSION}
- )
- endif()
- endif()
|