cmake_minimum_required (VERSION 2.8) project (ua-client) #set(CMAKE_SKIP_BUILD_RPATH TRUE) include(CheckCXXCompilerFlag) CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) IF(COMPILER_SUPPORTS_CXX11) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") ELSEIF(COMPILER_SUPPORTS_CXX0X) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") ELSE() MESSAGE(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++ support. Please use a different C++ compiler.") ENDIF() install(FILES ${CMAKE_SOURCE_DIR}/res/device_info.ini DESTINATION /opt/usr/data/ua_client/) install(FILES ${CMAKE_SOURCE_DIR}/res/.firmware_controlee.dat DESTINATION /opt/usr/data/ua_client/) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -O2 -g -Wall") add_definitions(-D__TIZEN__ -D_GNU_SOURCE -DTIZEN_DEBUG_ENABLE -DTB_LOG -DWITH_CLOUD -DRD_SERVER) include_directories( ${CMAKE_SOURCE_DIR}/inc/ ${CMAKE_SOURCE_DIR}/inc/iotivity/ ) set(SOURCES ${CMAKE_SOURCE_DIR}/src/ua_client.cpp ${CMAKE_SOURCE_DIR}/src/ua_http.cpp ${CMAKE_SOURCE_DIR}/src/ua_json_parser.cpp ) #set(dependents "boost dlog glib-2.0 iotivity libcurl uuid json-glib-1.0 capi-network-connection") set(dependents "boost dlog glib-2.0 libcurl uuid json-glib-1.0 capi-network-connection capi-network-wifi") include(FindPkgConfig) pkg_check_modules(${PROJECT_NAME} REQUIRED ${dependents}) foreach(flag ${${PROJECT_NAME}_CFLAGS}) set(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} -std=c++11") endforeach(flag) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS}") #find_library(IOTIVITY_LIBRARY # NAMES oc oc_logger octbstack ocsrm routingmanager connectivity_abstraction c_common coap logger # PATHS ${CMAKE_SOURCE_DIR}/lib/ #) set(LINK_STATIC_LIBS oc oc_logger octbstack ocsrm routingmanager connectivity_abstraction c_common coap resource_directory logger pthread rt uuid capi-network-wifi ) set(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed") link_directories(${CMAKE_SOURCE_DIR}/lib/) add_executable(${PROJECT_NAME} ${SOURCES}) target_link_libraries(${PROJECT_NAME} ${${PROJECT_NAME}_LDFLAGS} ${LINK_STATIC_LIBS}) install(TARGETS ${PROJECT_NAME} DESTINATION bin)