# Distributed under the OSI-approved BSD 3-Clause License. See accompanying # file Copyright.txt or https://cmake.org/licensing for details. #[=======================================================================[.rst: FindLibUUID ------------ Find LibUUID include directory and library. Imported Targets ^^^^^^^^^^^^^^^^ An :ref:`imported target ` named ``LibUUID::LibUUID`` is provided if LibUUID has been found. Result Variables ^^^^^^^^^^^^^^^^ This module defines the following variables: ``LibUUID_FOUND`` True if LibUUID was found, false otherwise. ``LibUUID_INCLUDE_DIRS`` Include directories needed to include LibUUID headers. ``LibUUID_LIBRARIES`` Libraries needed to link to LibUUID. Cache Variables ^^^^^^^^^^^^^^^ This module uses the following cache variables: ``LibUUID_LIBRARY`` The location of the LibUUID library file. ``LibUUID_INCLUDE_DIR`` The location of the LibUUID include directory containing ``uuid/uuid.h``. The cache variables should not be used by project code. They may be set by end users to point at LibUUID components. #]=======================================================================] #----------------------------------------------------------------------------- if(MSYS) # Note: on current version of MSYS2, linking to libuuid.dll.a doesn't # import the right symbols sometimes. Fix this by linking directly # to the DLL that provides the symbols, instead. find_library(LibUUID_LIBRARY NAMES msys-uuid-1.dll ) elseif(CYGWIN) # Note: on current version of Cygwin, linking to libuuid.dll.a doesn't # import the right symbols sometimes. Fix this by linking directly # to the DLL that provides the symbols, instead. set(old_suffixes ${CMAKE_FIND_LIBRARY_SUFFIXES}) set(CMAKE_FIND_LIBRARY_SUFFIXES .dll) find_library(LibUUID_LIBRARY NAMES cyguuid-1.dll ) set(CMAKE_FIND_LIBRARY_SUFFIXES ${old_suffixes}) else() find_library(LibUUID_LIBRARY NAMES uuid ) endif() mark_as_advanced(LibUUID_LIBRARY) find_path(LibUUID_INCLUDE_DIR NAMES uuid/uuid.h ) mark_as_advanced(LibUUID_INCLUDE_DIR) #----------------------------------------------------------------------------- include(${CMAKE_CURRENT_LIST_DIR}/../../Modules/FindPackageHandleStandardArgs.cmake) FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibUUID FOUND_VAR LibUUID_FOUND REQUIRED_VARS LibUUID_LIBRARY LibUUID_INCLUDE_DIR ) set(LIBUUID_FOUND ${LibUUID_FOUND}) #----------------------------------------------------------------------------- # Provide documented result variables and targets. if(LibUUID_FOUND) set(LibUUID_INCLUDE_DIRS ${LibUUID_INCLUDE_DIR}) set(LibUUID_LIBRARIES ${LibUUID_LIBRARY}) if(NOT TARGET LibUUID::LibUUID) add_library(LibUUID::LibUUID UNKNOWN IMPORTED) set_target_properties(LibUUID::LibUUID PROPERTIES IMPORTED_LOCATION "${LibUUID_LIBRARY}" INTERFACE_INCLUDE_DIRECTORIES "${LibUUID_INCLUDE_DIRS}" ) endif() endif()