diff --git a/CMakeLists.txt b/CMakeLists.txt index a8605fa4..603990af 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -143,6 +143,9 @@ IF(NOT WIN32) IF(LIBNFC_DRIVER_ACR122_PCSC) SET(PKG_REQ ${PKG_REQ} "libpcsclite") ENDIF(LIBNFC_DRIVER_ACR122_PCSC) + IF(LIBNFC_DRIVER_PN71XX) + SET(PKG_REQ ${PKG_REQ} "libnfc-nci") + ENDIF(LIBNFC_DRIVER_PN71XX) # CMake lists are separated by a semi colon, replace with colon STRING(REPLACE ";" "," PKG_CONFIG_REQUIRES "${PKG_REQ}") CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libnfc.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libnfc.pc @ONLY) diff --git a/cmake/modules/LibnfcDrivers.cmake b/cmake/modules/LibnfcDrivers.cmake index 99aa4d47..0b474c8f 100644 --- a/cmake/modules/LibnfcDrivers.cmake +++ b/cmake/modules/LibnfcDrivers.cmake @@ -12,6 +12,9 @@ ELSE(${CMAKE_SYSTEM_NAME} MATCHES "Linux") ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") SET(LIBNFC_DRIVER_PN532_UART ON CACHE BOOL "Enable PN532 UART support (Use serial port)") SET(LIBNFC_DRIVER_PN53X_USB ON CACHE BOOL "Enable PN531 and PN531 USB support (Depends on libusb)") +IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + SET(LIBNFC_DRIVER_PN71XX OFF CACHE BOOL "Enable PN71xx support (Depends on libnfc-nci, Linux only)") +ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") IF(LIBNFC_DRIVER_PCSC) FIND_PACKAGE(PCSC REQUIRED) @@ -68,11 +71,13 @@ IF(LIBNFC_DRIVER_PN53X_USB) SET(USB_REQUIRED TRUE) ENDIF(LIBNFC_DRIVER_PN53X_USB) -IF(LIBNFC_DRIVER_ACR122_USB) - FIND_PACKAGE(LIBUSB REQUIRED) - ADD_DEFINITIONS("-DDRIVER_ACR122_USB_ENABLED") - SET(DRIVERS_SOURCES ${DRIVERS_SOURCES} "drivers/acr122_usb.c") - SET(USB_REQUIRED TRUE) -ENDIF(LIBNFC_DRIVER_ACR122_USB) +IF(LIBNFC_DRIVER_PN71XX) + FIND_PACKAGE(PkgConfig REQUIRED) + PKG_CHECK_MODULES(LIBNFC_NCI REQUIRED libnfc-nci) + ADD_DEFINITIONS("-DDRIVER_PN71XX_ENABLED") + SET(DRIVERS_SOURCES ${DRIVERS_SOURCES} "drivers/pn71xx.c") + INCLUDE_DIRECTORIES(${LIBNFC_NCI_INCLUDE_DIRS}) + LINK_DIRECTORIES(${LIBNFC_NCI_LIBRARY_DIRS}) +ENDIF(LIBNFC_DRIVER_PN71XX) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/libnfc/drivers) diff --git a/libnfc/CMakeLists.txt b/libnfc/CMakeLists.txt index d3321778..08895ed0 100644 --- a/libnfc/CMakeLists.txt +++ b/libnfc/CMakeLists.txt @@ -88,6 +88,10 @@ IF(LIBRT_FOUND) TARGET_LINK_LIBRARIES(nfc ${LIBRT_LIBRARIES}) ENDIF(LIBRT_FOUND) +IF(LIBNFC_DRIVER_PN71XX) + TARGET_LINK_LIBRARIES(nfc ${LIBNFC_NCI_LIBRARIES}) +ENDIF(LIBNFC_DRIVER_PN71XX) + SET_TARGET_PROPERTIES(nfc PROPERTIES SOVERSION 6 VERSION 6.0.0) IF(WIN32)