79 lines
1.9 KiB
CMake
79 lines
1.9 KiB
CMake
PROJECT(tdadmin)
|
|
|
|
cmake_policy(SET CMP0005 NEW)
|
|
|
|
SET (tdadmin_DESCRIPTION
|
|
"a command line utility to edit devices and controllers for Telldus TellStick"
|
|
)
|
|
|
|
SET(tdadmin_SRCS
|
|
main.cpp
|
|
)
|
|
|
|
ADD_EXECUTABLE(tdadmin
|
|
${tdadmin_SRCS}
|
|
)
|
|
|
|
INCLUDE_DIRECTORIES(
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
${CMAKE_SOURCE_DIR}/driver
|
|
)
|
|
|
|
ADD_DEFINITIONS( -DVERSION="${DISPLAYED_VERSION}" )
|
|
|
|
IF (WIN32)
|
|
FIND_LIBRARY(TELLDUSCORE_LIBRARY TelldusCore)
|
|
TARGET_LINK_LIBRARIES(tdadmin
|
|
${TELLDUSCORE_LIBRARY}
|
|
)
|
|
ELSEIF (APPLE)
|
|
TARGET_LINK_LIBRARIES(tdadmin
|
|
TelldusCore
|
|
)
|
|
ELSEIF (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
|
# FreeBSD does not have argp in base libc; port devel/argp-standalone is required.
|
|
FIND_LIBRARY(ARGP_LIBRARY argp)
|
|
TARGET_LINK_LIBRARIES(tdadmin
|
|
${CMAKE_BINARY_DIR}/client/libtelldus-core.so
|
|
${ARGP_LIBRARY}
|
|
)
|
|
ELSE (WIN32)
|
|
TARGET_LINK_LIBRARIES(tdadmin
|
|
${CMAKE_BINARY_DIR}/client/libtelldus-core.so
|
|
)
|
|
ENDIF (WIN32)
|
|
|
|
IF (UNIX)
|
|
IF (GENERATE_MAN)
|
|
ADD_CUSTOM_COMMAND(
|
|
TARGET tdadmin
|
|
POST_BUILD
|
|
COMMAND help2man -n ${tdadmin_DESCRIPTION} ./tdadmin > tdadmin.1
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
COMMENT "Generating man file tdadmin.1"
|
|
)
|
|
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/tdadmin.1 DESTINATION share/man/man1)
|
|
ENDIF (GENERATE_MAN)
|
|
ENDIF (UNIX)
|
|
|
|
INSTALL(TARGETS tdadmin RUNTIME DESTINATION sbin)
|
|
|
|
IF (UNIX AND NOT APPLE)
|
|
SET(UDEV_RULES_DIR "/etc/udev/rules.d" CACHE PATH "The directory where udev store its rules" )
|
|
CONFIGURE_FILE(
|
|
${CMAKE_CURRENT_SOURCE_DIR}/05-tellstick.rules
|
|
${CMAKE_BINARY_DIR}/parsed/05-tellstick.rules
|
|
@ONLY
|
|
)
|
|
CONFIGURE_FILE(
|
|
${CMAKE_CURRENT_SOURCE_DIR}/udev.sh
|
|
${CMAKE_BINARY_DIR}/parsed/udev.sh
|
|
@ONLY
|
|
)
|
|
INSTALL(FILES ${CMAKE_BINARY_DIR}/parsed/05-tellstick.rules
|
|
DESTINATION ${UDEV_RULES_DIR}
|
|
)
|
|
INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/parsed/udev.sh
|
|
DESTINATION share/telldus-core/helpers/
|
|
)
|
|
ENDIF (UNIX AND NOT APPLE)
|