154 lines
4.5 KiB
CMake
154 lines
4.5 KiB
CMake
|
|
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
|
|
|
|
OPTION(WITH_NDA "With Components/Examples Under NDA" OFF)
|
|
|
|
OPTION(BOARD_RaspberryPi "Platform is RaspberryPi" ON)
|
|
OPTION(BOARD_UdooNeo "Platform is UdooNeo" OFF)
|
|
OPTION(BOARD_LPC1769 "Platform is LPC1769" OFF)
|
|
|
|
OPTION(FRONTEND_PN5190 "IC Frontend is PN5190" ON)
|
|
OPTION(FRONTEND_PN5180 "IC Frontend is PN5180" OFF)
|
|
OPTION(FRONTEND_RC663 "IC Frontend is RC663" OFF)
|
|
|
|
|
|
OPTION(BUILD_EXAMPLES "Build examples and compliance apps" ON)
|
|
|
|
OPTION(BUS_SPIUserMode "Connected to FRONTEND over SPI in User Mode" OFF)
|
|
OPTION(BUS_SPIKernelMode "Connected to FRONTEND over SPI in Kernal Mode" OFF)
|
|
|
|
IF(BUS_SPIKernelMode AND BUS_SPIUserMode)
|
|
MESSAGE(FATAL_ERROR "Can not select both SPI Kernel Mode and SPI User Mode")
|
|
ENDIF()
|
|
|
|
IF(BUS_SPIKernelMode AND FRONTEND_RC663)
|
|
MESSAGE(FATAL_ERROR "SPI Kernel Mode is not supported for RC663")
|
|
ENDIF()
|
|
|
|
IF(BOARD_RaspberryPi AND BOARD_UdooNeo)
|
|
MESSAGE(FATAL_ERROR "RaspberryPi and UdooNeo can not be compiled at the same time. ")
|
|
ENDIF()
|
|
|
|
IF (FRONTEND_PN5180 AND FRONTEND_RC663)
|
|
MESSAGE(FATAL_ERROR "PN5180 and RC663 can not be compiled at the same time. ")
|
|
ENDIF (FRONTEND_PN5180 AND FRONTEND_RC663)
|
|
|
|
IF (FRONTEND_PN5190 AND FRONTEND_RC663)
|
|
MESSAGE(FATAL_ERROR "PN5190 and RC663 can not be compiled at the same time. ")
|
|
ENDIF (FRONTEND_PN5190 AND FRONTEND_RC663)
|
|
|
|
IF (FRONTEND_PN5180 AND FRONTEND_PN5190)
|
|
MESSAGE(FATAL_ERROR "PN5180 and PN5190 can not be compiled at the same time. ")
|
|
ENDIF (FRONTEND_PN5180 AND FRONTEND_PN5190)
|
|
|
|
|
|
IF(IS_ABSOLUTE ${CMAKE_TOOLCHAIN_FILE})
|
|
SET(INCLUDING_TOOLCHAIN_FILE_FOR_FLAGS ON)
|
|
INCLUDE(${CMAKE_TOOLCHAIN_FILE})
|
|
SET(INCLUDING_TOOLCHAIN_FILE_FOR_FLAGS OFF)
|
|
ENDIF()
|
|
|
|
# Generate folders for IDE targets (e.g., VisualStudio solutions)
|
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
|
set(IDE_FOLDER "")
|
|
|
|
PROJECT(NxpNfcInfraSw)
|
|
|
|
IF (BUS_SPIKernelMode OR BUS_SPIUserMode)
|
|
ADD_DEFINITIONS(-DNXPBUILD__PHBAL_SELECTED)
|
|
ENDIF ()
|
|
|
|
IF(BUS_SPIKernelMode)
|
|
ADD_DEFINITIONS(-DNXPBUILD__PHBAL_REG_LINUX_KERNEL_SPI)
|
|
ENDIF()
|
|
|
|
IF(BUS_SPIUserMode)
|
|
ADD_DEFINITIONS(-DNXPBUILD__PHBAL_REG_LINUX_USER_SPI)
|
|
ENDIF()
|
|
|
|
IF (FRONTEND_PN5180 OR FRONTEND_RC663 OR FRONTEND_PN5190)
|
|
ADD_DEFINITIONS(-DNXPBUILD__PHHAL_SELECTED)
|
|
ELSE (FRONTEND_PN5180 OR FRONTEND_RC663 OR FRONTEND_PN5190)
|
|
MESSAGE(FATAL_ERROR "Either of PN5180 or PN5190 or RC663 should be selected. ")
|
|
ENDIF (FRONTEND_PN5180 OR FRONTEND_RC663 OR FRONTEND_PN5190)
|
|
|
|
|
|
IF(FRONTEND_PN5180)
|
|
ADD_DEFINITIONS(-DNXPBUILD__PHHAL_HW_PN5180)
|
|
ENDIF()
|
|
|
|
IF(FRONTEND_PN5190)
|
|
ADD_DEFINITIONS(-DNXPBUILD__PHHAL_HW_PN5190)
|
|
ENDIF()
|
|
|
|
IF(FRONTEND_RC663)
|
|
ADD_DEFINITIONS(-DNXPBUILD__PHHAL_HW_RC663)
|
|
ENDIF()
|
|
|
|
INCLUDE_DIRECTORIES(
|
|
Platform/DAL/inc
|
|
Platform/DAL/boards
|
|
Platform/DAL/cfg
|
|
RTOS/phOsal/inc
|
|
)
|
|
|
|
IF(BOARD_RaspberryPi OR BOARD_UdooNeo)
|
|
ADD_DEFINITIONS(-pthread)
|
|
ADD_DEFINITIONS(-DDEBUG)
|
|
ADD_DEFINITIONS(-g)
|
|
ENDIF()
|
|
|
|
IF(BOARD_RaspberryPi)
|
|
IF(FRONTEND_PN5180)
|
|
ADD_DEFINITIONS(-DPHDRIVER_PIPN5180_BOARD)
|
|
ENDIF(FRONTEND_PN5180)
|
|
IF(FRONTEND_PN5190)
|
|
ADD_DEFINITIONS(-DPHDRIVER_PIPN5190_BOARD)
|
|
ADD_DEFINITIONS(-DPH_NXPNFCRDLIB_CONFIG_EMVCO_FIELD_OFF_DELAY_US=2500)
|
|
ENDIF(FRONTEND_PN5190)
|
|
IF(FRONTEND_RC663)
|
|
ADD_DEFINITIONS(-DPHDRIVER_PIRC663_BOARD)
|
|
ENDIF(FRONTEND_RC663)
|
|
ADD_DEFINITIONS(-DNXPBUILD__PH_RASPBERRY_PI)
|
|
ADD_DEFINITIONS(-DPH_OSAL_LINUX)
|
|
INCLUDE_DIRECTORIES(
|
|
"Platform/DAL/src/Linux/"
|
|
)
|
|
ENDIF(BOARD_RaspberryPi)
|
|
|
|
IF(BOARD_UdooNeo)
|
|
ADD_DEFINITIONS(-DNXPBUILD__PH_UDOO_NEO)
|
|
ENDIF(BOARD_UdooNeo)
|
|
|
|
IF(BOARD_LPC1769)
|
|
ADD_SUBDIRECTORY(RTOS)
|
|
ADD_SUBDIRECTORY(Platform)
|
|
|
|
INCLUDE_DIRECTORIES(
|
|
"RTOS/FreeRTOS/include"
|
|
"RTOS/FreeRTOS/portable/GCC/ARM_CM3/"
|
|
)
|
|
|
|
IF(IS_DIRECTORY ${lpc_chip_175x_6x_SOURCE_DIR}/libs)
|
|
LINK_DIRECTORIES(${lpc_chip_175x_6x_SOURCE_DIR}/libs)
|
|
ENDIF()
|
|
ENDIF(BOARD_LPC1769)
|
|
|
|
ADD_SUBDIRECTORY(Platform/DAL)
|
|
ADD_SUBDIRECTORY(RTOS/phOsal)
|
|
ADD_SUBDIRECTORY(NxpNfcRdLib)
|
|
|
|
INCLUDE_DIRECTORIES(
|
|
${NxpNfcRdLib_SOURCE_DIR}/intfs
|
|
${NxpNfcRdLib_SOURCE_DIR}/types
|
|
)
|
|
|
|
IF(BUILD_EXAMPLES)
|
|
# ADD_SUBDIRECTORY(PlatformIntegartionTestBench)
|
|
ADD_SUBDIRECTORY(Examples)
|
|
ADD_SUBDIRECTORY(ComplianceApp)
|
|
IF(FRONTEND_PN5190)
|
|
ADD_SUBDIRECTORY(ExamplesPN5190)
|
|
ENDIF()
|
|
ENDIF(BUILD_EXAMPLES)
|