CMakeLists.txt 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. cmake_minimum_required (VERSION 2.8)
  2. # 设置编译器路径
  3. set(CMAKE_C_COMPILER "arm-openwrt-linux-gcc")
  4. set(CMAKE_CXX_COMPILER "arm-openwrt-linux-g++")
  5. #set(SYS_ROOT "/home/liyi/tina/out/t113-bingpi_m2/staging_dir/target/usr/include")
  6. # 设置目标平台和架构
  7. set(CMAKE_SYSTEM_NAME Linux)
  8. set(CMAKE_SYSTEM_PROCESSOR arm)
  9. project (pdu_ctrl_app)
  10. add_definitions(-DSHELL_CFG_USER="shell_cfg_user.h")
  11. include_directories($ENV{STAGING_DIR}/target/usr/include/)
  12. include_directories (${PROJECT_SOURCE_DIR}/modbus/inc ${PROJECT_SOURCE_DIR}/sqlite/inc)
  13. include_directories (${PROJECT_SOURCE_DIR}/easylogger/os/inc)
  14. include_directories (${PROJECT_SOURCE_DIR}/easylogger/inc)
  15. include_directories (${PROJECT_SOURCE_DIR}/easylogger/plugins/file)
  16. include_directories (${PROJECT_SOURCE_DIR}/letter/src)
  17. include_directories (${PROJECT_SOURCE_DIR}/letter/os)
  18. include_directories (${PROJECT_SOURCE_DIR}/sqlite)
  19. include_directories (${PROJECT_SOURCE_DIR}/modbus)
  20. include_directories (${PROJECT_SOURCE_DIR}/src)
  21. include_directories (${SYS_ROOT})
  22. link_directories(${PROJECT_SOURCE_DIR}/modbus/lib ${PROJECT_SOURCE_DIR}/sqlite/lib)
  23. add_definitions("-Wall -g")
  24. set( SRC_LIST
  25. #${PROJECT_SOURCE_DIR}/letter/src/shell_cmd_list.c
  26. #${PROJECT_SOURCE_DIR}/letter/src/shell_companion.c
  27. #${PROJECT_SOURCE_DIR}/letter/src/shell_ext.c
  28. #${PROJECT_SOURCE_DIR}/letter/src/shell.c
  29. #${PROJECT_SOURCE_DIR}/letter/os/shell_port.c
  30. ${PROJECT_SOURCE_DIR}/easylogger/os/port/elog_file_port.c
  31. ${PROJECT_SOURCE_DIR}/easylogger/os/port/elog_port.c
  32. ${PROJECT_SOURCE_DIR}/easylogger/plugins/file/elog_file.c
  33. ${PROJECT_SOURCE_DIR}/easylogger/src/elog.c
  34. ${PROJECT_SOURCE_DIR}/easylogger/src/elog_async.c
  35. ${PROJECT_SOURCE_DIR}/easylogger/src/elog_buf.c
  36. ${PROJECT_SOURCE_DIR}/easylogger/src/elog_utils.c
  37. #${PROJECT_SOURCE_DIR}/src/io.c
  38. #${PROJECT_SOURCE_DIR}/src/lcd_app.c
  39. #${PROJECT_SOURCE_DIR}/src/lcd_drv.c
  40. ${PROJECT_SOURCE_DIR}/src/sensor_handle.c
  41. ${PROJECT_SOURCE_DIR}/src/common.c
  42. ${PROJECT_SOURCE_DIR}/src/app.c
  43. ${PROJECT_SOURCE_DIR}/src/modbus_handle.c
  44. ${PROJECT_SOURCE_DIR}/src/sqlite_handle.c
  45. #${PROJECT_SOURCE_DIR}/src/switch_ctrl.c
  46. ${PROJECT_SOURCE_DIR}/src/main.c
  47. ${PROJECT_SOURCE_DIR}/src/cascade.c
  48. ${PROJECT_SOURCE_DIR}/src/cascade_slave.c
  49. ${PROJECT_SOURCE_DIR}/src/thread.c
  50. ${PROJECT_SOURCE_DIR}/modbus/modbus.c
  51. ${PROJECT_SOURCE_DIR}/modbus/modbus-data.c
  52. ${PROJECT_SOURCE_DIR}/modbus/modbus-rtu.c
  53. ${PROJECT_SOURCE_DIR}/modbus/modbus-tcp.c
  54. ${PROJECT_SOURCE_DIR}/sqlite/sqlite3.c
  55. ${PROJECT_SOURCE_DIR}/src/hlw8110_handle.c
  56. )
  57. add_executable(smartPDU ${SRC_LIST})
  58. set_target_properties(smartPDU PROPERTIES LINK_FLAGS "-Wl,--disable-new-dtags,-rpath=${MY_PATH}/lib:${MY_PATH}/usr/lib")
  59. target_link_libraries (smartPDU -lc -lpthread)