54e0bdb62f
- Generate rc files from version.rc.in + CMake variable information in CMakeLists files - Add step to generate .lib file for windows developers - Re-structure tool flag usage, apparently ADD_DEFINTIONS adds them to _ALL_ tools. This is bad for rc files with the windres tool. Needs other platform testing, as the flags have changed to fix Windows rc file generation.
59 lines
1.8 KiB
CMake
59 lines
1.8 KiB
CMake
SET(UTILS-SOURCES
|
|
nfc-emulate-forum-tag4
|
|
nfc-list
|
|
nfc-mfclassic
|
|
nfc-mfultralight
|
|
nfc-read-forum-tag3
|
|
nfc-relay-picc
|
|
nfc-scan-device
|
|
)
|
|
|
|
ADD_LIBRARY(nfcutils STATIC
|
|
nfc-utils.c
|
|
)
|
|
TARGET_LINK_LIBRARIES(nfcutils nfc)
|
|
|
|
# Examples
|
|
FOREACH(source ${UTILS-SOURCES})
|
|
SET (TARGETS ${source}.c)
|
|
|
|
IF(WIN32)
|
|
SET(RC_COMMENT "${PACKAGE_NAME} utility")
|
|
SET(RC_INTERNAL_NAME ${source})
|
|
SET(RC_ORIGINAL_NAME ${source}.exe)
|
|
SET(RC_FILE_TYPE VFT_APP)
|
|
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/../windows/version.rc.in ${CMAKE_CURRENT_BINARY_DIR}/../windows/${source}.rc @ONLY)
|
|
LIST(APPEND TARGETS ${CMAKE_CURRENT_BINARY_DIR}/../windows/${source}.rc)
|
|
ENDIF(WIN32)
|
|
|
|
IF((${source} MATCHES "nfc-mfultralight") OR (${source} MATCHES "nfc-mfclassic"))
|
|
LIST(APPEND TARGETS mifare)
|
|
ENDIF((${source} MATCHES "nfc-mfultralight") OR (${source} MATCHES "nfc-mfclassic"))
|
|
|
|
IF(WIN32)
|
|
IF(${source} MATCHES "nfc-scan-device")
|
|
LIST(APPEND TARGETS ../contrib/win32/stdlib)
|
|
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../contrib/win32)
|
|
ENDIF(${source} MATCHES "nfc-scan-device")
|
|
ENDIF(WIN32)
|
|
|
|
ADD_EXECUTABLE(${source} ${TARGETS})
|
|
|
|
TARGET_LINK_LIBRARIES(${source} nfc)
|
|
TARGET_LINK_LIBRARIES(${source} nfcutils)
|
|
|
|
INSTALL(TARGETS ${source} RUNTIME DESTINATION bin COMPONENT utils)
|
|
ENDFOREACH(source)
|
|
|
|
#install required libraries
|
|
IF(WIN32)
|
|
INCLUDE(InstallRequiredSystemLibraries)
|
|
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/cmake/FixBundle.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FixBundle.cmake @ONLY)
|
|
INSTALL(SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/FixBundle.cmake)
|
|
ENDIF(WIN32)
|
|
|
|
IF(NOT WIN32)
|
|
# Manuals for the examples
|
|
FILE(GLOB manuals "${CMAKE_CURRENT_SOURCE_DIR}/*.1")
|
|
INSTALL(FILES ${manuals} DESTINATION ${SHARE_INSTALL_PREFIX}/man/man1 COMPONENT manuals)
|
|
ENDIF(NOT WIN32)
|