Adopted to OpenWrt target. Most likely these changes go elsewhere when done right. --- a/service/CMakeLists.txt +++ b/service/CMakeLists.txt @@ -98,7 +98,7 @@ IF (UNIX AND NOT APPLE) IF (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") SET(DEFAULT_STATE_INSTALL_DIR "/var/spool") ELSE () - SET(DEFAULT_STATE_INSTALL_DIR "/var/state") + SET(DEFAULT_STATE_INSTALL_DIR "/tmp/state") # OpenWrt has var as symlink to tmp ENDIF () SET(STATE_INSTALL_DIR "${DEFAULT_STATE_INSTALL_DIR}" CACHE PATH "The directory to store state information of the devices") --- a/tdadmin/CMakeLists.txt +++ b/tdadmin/CMakeLists.txt @@ -38,8 +38,11 @@ ELSEIF (CMAKE_SYSTEM_NAME MATCHES "FreeB ${ARGP_LIBRARY} ) ELSE (WIN32) + # Linux, in this case openwrt that requires argp-standalone + FIND_LIBRARY(ARGP_LIBRARY argp) TARGET_LINK_LIBRARIES(tdadmin ${CMAKE_BINARY_DIR}/client/libtelldus-core.so + ${ARGP_LIBRARY} ) ENDIF (WIN32) --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -66,12 +66,16 @@ ELSEIF (CMAKE_SYSTEM_NAME MATCHES "FreeB ) ELSE (APPLE) #### Linux #### + #FIND_LIBRARY(ICONV_LIBRARY iconv) Does not work ADD_DEFINITIONS( -D_LINUX ) LIST(APPEND telldus-common_SRCS Event_unix.cpp EventHandler_unix.cpp Socket_unix.cpp ) + LIST(APPEND telldus-common_LIBRARIES + ${ICONV_LIBRARY} + ) ENDIF (APPLE)