mirror of
https://github.com/FreeRDP/FreeRDP.git
synced 2025-06-03 00:00:20 +00:00
Merge pull request #1684 from bmiklautz/issue_1683
smartcard: fix PCSC detection/build on OS X
This commit is contained in:
commit
f3cd8b65ae
@ -31,8 +31,24 @@
|
||||
|
||||
#define BOOL PCSC_BOOL
|
||||
#include <PCSC/pcsclite.h>
|
||||
#include <PCSC/reader.h>
|
||||
#include <PCSC/winscard.h>
|
||||
#if !defined(__APPLE__)
|
||||
#include <PCSC/reader.h>
|
||||
#else
|
||||
/* On OS X reader.h isn't available so define it here */
|
||||
#endif
|
||||
#define SCARD_ATTR_VALUE(Class, Tag) ((((ULONG)(Class)) << 16) | ((ULONG)(Tag)))
|
||||
#define SCARD_CLASS_SYSTEM 0x7fff /**< System-specific definitions */
|
||||
#define SCARD_ATTR_DEVICE_FRIENDLY_NAME_A SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0003)
|
||||
#define SCARD_ATTR_DEVICE_FRIENDLY_NAME_W SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0005)
|
||||
#ifdef UNICODE
|
||||
#define SCARD_ATTR_DEVICE_FRIENDLY_NAME SCARD_ATTR_DEVICE_FRIENDLY_NAME_W /**< Reader's display name. */
|
||||
#define SCARD_ATTR_DEVICE_SYSTEM_NAME SCARD_ATTR_DEVICE_SYSTEM_NAME_W /**< Reader's system name. */
|
||||
#else
|
||||
#define SCARD_ATTR_DEVICE_FRIENDLY_NAME SCARD_ATTR_DEVICE_FRIENDLY_NAME_A /**< Reader's display name. */
|
||||
#define SCARD_ATTR_DEVICE_SYSTEM_NAME SCARD_ATTR_DEVICE_SYSTEM_NAME_A /**< Reader's system name. */
|
||||
#define SCARD_CTL_CODE(code) (0x42000000 + (code))
|
||||
#endif
|
||||
#undef BOOL
|
||||
|
||||
#include <winpr/crt.h>
|
||||
|
@ -1,18 +1,26 @@
|
||||
# - Try to find PCSC
|
||||
# Once done this will define
|
||||
# PCSC_FOUND - pcsc was found
|
||||
# PCSC_INCLUDE_DIRS - pcsc include directories
|
||||
# PCSC_LIBRARIES - libraries needed for linking
|
||||
|
||||
include(FindPkgConfig)
|
||||
|
||||
if (PKG_CONFIG_FOUND)
|
||||
pkg_check_modules(PCSC libpcsclite)
|
||||
pkg_check_modules(PC_PCSC QUIET libpcsclite)
|
||||
endif()
|
||||
|
||||
find_path(PCSC_INCLUDE_DIR pcsclite.h
|
||||
PATHS ${PCSC_INCLUDE_DIRS}
|
||||
PATH_SUFFIXES PCSC)
|
||||
find_path(PCSC_INCLUDE_DIR pcsclite.h WinSCard.h
|
||||
HINTS ${PC_PCSC_INCLUDEDIR} ${PC_PCSC_INCLUDE_DIRS}
|
||||
PATH_SUFFIXES PCSC)
|
||||
|
||||
find_library(PCSC_LIBRARY pcsclite
|
||||
PATHS ${PCSC_LIBRARY_DIRS})
|
||||
find_library(PCSC_LIBRARY NAMES PCSC WinSCard pcsclite
|
||||
HINTS ${PC_PCSC_LIBDIR} ${PC_PCSC_LIBRARY_DIRS})
|
||||
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCSC DEFAULT_MSG PCSC_INCLUDE_DIR PCSC_LIBRARY)
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(PCSC DEFAULT_MSG PCSC_LIBRARY PCSC_INCLUDE_DIR)
|
||||
|
||||
set(PCSC_LIBRARIES ${PCSC_LIBRARY})
|
||||
set(PCSC_INCLUDE_DIRS ${PCSC_INCLUDE_DIR})
|
||||
|
||||
mark_as_advanced(PCSC_INCLUDE_DIR PCSC_LIBRARY)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user