| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339 |
- cmake_minimum_required (VERSION 2.8)
- #set(CHIP t113i)
- #set(CHIP t113s)
- if("${CHIP}" STREQUAL "t113i" )
- # 设置编译器路径
- set(CMAKE_C_COMPILER "arm-linux-gnueabi-gcc")
- set(CMAKE_CXX_COMPILER "arm-linux-gnueabi-g++")
- # 设置目标平台和架构
- set(CMAKE_SYSTEM_NAME Linux)
- set(CMAKE_SYSTEM_PROCESSOR arm)
- project (pdu_ctrl_app)
- add_definitions(-DSHELL_CFG_USER="shell_cfg_user.h")
- add_definitions(-DCHIP_TYPE=0)
- set(STAGING_DIR "/home/tronlong/T113/T113-i_v1.0/out/t113_i/tlt113-evm-emmc/longan/buildroot/staging")
- include_directories (${PROJECT_SOURCE_DIR}/modbus/inc
- ${PROJECT_SOURCE_DIR}/ini
- ${PROJECT_SOURCE_DIR}/logo
- ${PROJECT_SOURCE_DIR}/sqlite/inc)
- include_directories (${PROJECT_SOURCE_DIR}/easylogger/os/inc)
- include_directories (${PROJECT_SOURCE_DIR}/easylogger/inc)
- include_directories (${PROJECT_SOURCE_DIR}/easylogger/plugins/file)
- include_directories (${PROJECT_SOURCE_DIR}/letter/src)
- include_directories (${PROJECT_SOURCE_DIR}/letter/os)
- include_directories (${PROJECT_SOURCE_DIR}/mongoose)
- include_directories (${PROJECT_SOURCE_DIR}/sqlite/inc)
- include_directories (${PROJECT_SOURCE_DIR}/modbus/inc)
- include_directories (${PROJECT_SOURCE_DIR}/snmp/include)
- include_directories (${PROJECT_SOURCE_DIR}/upgrade)
- include_directories (${PROJECT_SOURCE_DIR}/config)
- include_directories (${PROJECT_SOURCE_DIR}/qrcode)
- include_directories (${PROJECT_SOURCE_DIR}/src)
- include_directories (${PROJECT_SOURCE_DIR}/ui)
- link_directories(${PROJECT_SOURCE_DIR}/appweb/lib)
- link_directories(${PROJECT_SOURCE_DIR}/snmp/lib)
- link_directories(${PROJECT_SOURCE_DIR}/sqlite/lib)
- link_directories(${PROJECT_SOURCE_DIR}/modbus/lib)
- include_directories (${STAGING_DIR}/usr/include/libnl3)
- add_definitions("-Wall")
- set(PDU_SRC_LIST
- ${PROJECT_SOURCE_DIR}/letter/src/shell_cmd_list.c
- ${PROJECT_SOURCE_DIR}/letter/src/shell_companion.c
- ${PROJECT_SOURCE_DIR}/letter/src/shell_ext.c
- ${PROJECT_SOURCE_DIR}/letter/src/shell.c
- ${PROJECT_SOURCE_DIR}/letter/os/shell_port.c
- ${PROJECT_SOURCE_DIR}/easylogger/os/port/elog_file_port.c
- ${PROJECT_SOURCE_DIR}/easylogger/os/port/elog_port.c
- ${PROJECT_SOURCE_DIR}/easylogger/plugins/file/elog_file.c
- ${PROJECT_SOURCE_DIR}/easylogger/src/elog.c
- ${PROJECT_SOURCE_DIR}/easylogger/src/elog_async.c
- ${PROJECT_SOURCE_DIR}/easylogger/src/elog_buf.c
- ${PROJECT_SOURCE_DIR}/easylogger/src/elog_utils.c
- ${PROJECT_SOURCE_DIR}/ini/dictionary.c
- ${PROJECT_SOURCE_DIR}/ini/iniparser.c
- ${PROJECT_SOURCE_DIR}/qrcode/qrcode.c
- ${PROJECT_SOURCE_DIR}/qrcode/qrc.c
-
- ${PROJECT_SOURCE_DIR}/ui/font.c
- ${PROJECT_SOURCE_DIR}/ui/lang.c
- ${PROJECT_SOURCE_DIR}/ui/gpio.c
- ${PROJECT_SOURCE_DIR}/ui/beep.c
- ${PROJECT_SOURCE_DIR}/ui/menu.c
- ${PROJECT_SOURCE_DIR}/ui/timer.c
- ${PROJECT_SOURCE_DIR}/ui/key.c
- ${PROJECT_SOURCE_DIR}/ui/led.c
- ${PROJECT_SOURCE_DIR}/ui/lcd.c
- ${PROJECT_SOURCE_DIR}/ui/ui.c
- ${PROJECT_SOURCE_DIR}/mongoose/mongoose.c
- ${PROJECT_SOURCE_DIR}/src/websocket_handle.c
- ${PROJECT_SOURCE_DIR}/src/io.c
- ${PROJECT_SOURCE_DIR}/src/sensor_handle.c
- ${PROJECT_SOURCE_DIR}/src/cJSON.c
- ${PROJECT_SOURCE_DIR}/src/language_common.c
- ${PROJECT_SOURCE_DIR}/src/common.c
- ${PROJECT_SOURCE_DIR}/src/app.c
- ${PROJECT_SOURCE_DIR}/src/appweb_handle.c
- ${PROJECT_SOURCE_DIR}/src/modbus_handle.c
- ${PROJECT_SOURCE_DIR}/src/sqlite_handle.c
- ${PROJECT_SOURCE_DIR}/src/switch_ctrl.c
- ${PROJECT_SOURCE_DIR}/src/json_handle.c
- ${PROJECT_SOURCE_DIR}/src/sys.c
- ${PROJECT_SOURCE_DIR}/src/dflt.c
- ${PROJECT_SOURCE_DIR}/src/paras.c
- ${PROJECT_SOURCE_DIR}/src/xlist.c
- ${PROJECT_SOURCE_DIR}/src/thread.c
- ${PROJECT_SOURCE_DIR}/src/cascade.c
- ${PROJECT_SOURCE_DIR}/src/cascade_slave.c
- ${PROJECT_SOURCE_DIR}/src/upg.c
- ${PROJECT_SOURCE_DIR}/src/file.c
- ${PROJECT_SOURCE_DIR}/src/lock.c
- ${PROJECT_SOURCE_DIR}/src/mail.c
- ${PROJECT_SOURCE_DIR}/src/mqtt.c
- ${PROJECT_SOURCE_DIR}/src/md5.c
- ${PROJECT_SOURCE_DIR}/src/netswitch.c
- ${PROJECT_SOURCE_DIR}/src/Cellular.c
- ${PROJECT_SOURCE_DIR}/src/wifi.c
- ${PROJECT_SOURCE_DIR}/src/main.c
- ${PROJECT_SOURCE_DIR}/src/language_hashmap.c
- ${PROJECT_SOURCE_DIR}/src/ntpclient.c
- ${PROJECT_SOURCE_DIR}/src/pduMIB_form.c
- ${PROJECT_SOURCE_DIR}/src/pduMIB_scalar.c
- ${PROJECT_SOURCE_DIR}/src/pduMIB_trap.c
- ${PROJECT_SOURCE_DIR}/src/hlw8110_handle.c
- ${PROJECT_SOURCE_DIR}/src/breaker_detection.c
- ${PROJECT_SOURCE_DIR}/src/cascade_slave_tcp.c
- )
- set(NO_WARNNING_FLAGS "-Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${NO_WARNNING_FLAGS} -Werror")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${NO_WARNNING_FLAGS} -Werror")
- #set_target_properties(my_executable PROPERTIES LINK_FLAGS "-pthread")
- add_executable(smartPDU ${PDU_SRC_LIST})
- target_link_libraries(smartPDU -lpcre -lsqlite3 -lssl -lcrypto -lcurl -lmodbus -lc -ldl -lnl-3 -lnl-genl-3 -lpthread -lnetsnmp -lnetsnmpagent -lrt)
- set(SRC_DIR ${PROJECT_BINARY_DIR})
- set(DST_DIR ${PROJECT_SOURCE_DIR}/../output)
- set(UPG_SRC_LIST ${PROJECT_SOURCE_DIR}/upgrade/md5.c
- ${PROJECT_SOURCE_DIR}/upgrade/upgrade.c)
-
- add_executable(smartUPG ${UPG_SRC_LIST})
- target_link_libraries(smartUPG -lc -lpthread)
- set(MEM_SRC_LIST ${PROJECT_SOURCE_DIR}/mem/mem.c)
- add_executable(memInfo ${MEM_SRC_LIST})
- target_link_libraries(memInfo -lc -lpthread)
- add_custom_command(TARGET smartUPG POST_BUILD
- COMMAND mkdir -p ${DST_DIR}/${CHIP}/pack_dir/usr/sbin
- COMMAND cp -upf ${SRC_DIR}/smartUPG ${DST_DIR}/${CHIP}/pack_dir/usr/sbin)
- add_custom_command(TARGET smartPDU POST_BUILD
- COMMAND mkdir -p ${DST_DIR}/${CHIP}/pack_dir/root/run/app
- COMMAND cp -upf ${SRC_DIR}/smartPDU ${DST_DIR}/${CHIP}/pack_dir/root/run/app)
- add_custom_command(TARGET memInfo POST_BUILD
- COMMAND mkdir -p ${DST_DIR}/${CHIP}/pack_dir/root/run/app
- COMMAND cp -upf ${SRC_DIR}/memInfo ${DST_DIR}/${CHIP}/pack_dir/root/run/app)
- #execute_process(COMMAND ${DST_DIR}/pack.sh)
- #add_custom_target(PACK COMMAND ${DST_DIR}/pack.sh ALWAYS)
- elseif("${CHIP}" STREQUAL "t113s" )
- set(CMAKE_C_COMPILER "arm-openwrt-linux-gcc")
- set(CMAKE_CXX_COMPILER "arm-openwrt-linux-g++")
- # 设置目标平台和架构
- set(CMAKE_SYSTEM_NAME Linux)
- set(CMAKE_SYSTEM_PROCESSOR arm)
- project (pdu_ctrl_app)
- add_definitions(-DSHELL_CFG_USER="shell_cfg_user.h")
- add_definitions(-DCHIP_TYPE=1)
- #set(STAGING_DIR "/home/liyi/tina/out/t113-bingpi_m2/staging_dir")
- #set(COMPILING_DIR "/home/liyi/tina/out/t113-bingpi_m2/compile_dir")
- include_directories (${PROJECT_SOURCE_DIR}/modbus/src
- ${PROJECT_SOURCE_DIR}/ini
- ${PROJECT_SOURCE_DIR}/logo
- ${PROJECT_SOURCE_DIR}/sqlite/inc)
- include_directories ($ENV{STAGING_DIR}/target/usr/include)
- include_directories (${PROJECT_SOURCE_DIR}/easylogger/os/inc)
- include_directories (${PROJECT_SOURCE_DIR}/easylogger/inc)
- include_directories (${PROJECT_SOURCE_DIR}/easylogger/plugins/file)
- include_directories (${PROJECT_SOURCE_DIR}/letter/src)
- include_directories (${PROJECT_SOURCE_DIR}/letter/os)
- include_directories (${PROJECT_SOURCE_DIR}/mongoose)
- include_directories (${PROJECT_SOURCE_DIR}/sqlite/inc)
- include_directories (${PROJECT_SOURCE_DIR}/modbus)
- include_directories (${PROJECT_SOURCE_DIR}/snmp/include)
- include_directories (${PROJECT_SOURCE_DIR}/upgrade)
- include_directories (${PROJECT_SOURCE_DIR}/config)
- include_directories (${PROJECT_SOURCE_DIR}/qrcode)
- include_directories (${PROJECT_SOURCE_DIR}/src)
- include_directories (${PROJECT_SOURCE_DIR}/ui)
- include_directories (${SYS_ROOT})
- link_directories(${PROJECT_SOURCE_DIR}/snmp/lib_ip)
- #link_directories(${PROJECT_SOURCE_DIR}/sqlite/lib_ip)
- #link_directories(${PROJECT_SOURCE_DIR}/modbus/lib)
- link_directories($ENV{STAGING_DIR}/target/usr/lib)
- link_directories($ENV{STAGING_DIR}/target/lib)
- link_directories($ENV{COMPILING_DIR}/target/lib)
- link_directories($ENV{COMPILING_DIR}/target/usr/lib)
- link_directories($ENV{COMPILING_DIR}/target/usr/lib/arm-qt/lib)
- add_definitions("-Wall -g")
- set(PDU_SRC_LIST
- ${PROJECT_SOURCE_DIR}/letter/src/shell_cmd_list.c
- ${PROJECT_SOURCE_DIR}/letter/src/shell_companion.c
- ${PROJECT_SOURCE_DIR}/letter/src/shell_ext.c
- ${PROJECT_SOURCE_DIR}/letter/src/shell.c
- ${PROJECT_SOURCE_DIR}/letter/os/shell_port.c
- ${PROJECT_SOURCE_DIR}/easylogger/os/port/elog_file_port.c
- ${PROJECT_SOURCE_DIR}/easylogger/os/port/elog_port.c
- ${PROJECT_SOURCE_DIR}/easylogger/plugins/file/elog_file.c
- ${PROJECT_SOURCE_DIR}/easylogger/src/elog.c
- ${PROJECT_SOURCE_DIR}/easylogger/src/elog_async.c
- ${PROJECT_SOURCE_DIR}/easylogger/src/elog_buf.c
- ${PROJECT_SOURCE_DIR}/easylogger/src/elog_utils.c
- ${PROJECT_SOURCE_DIR}/ini/dictionary.c
- ${PROJECT_SOURCE_DIR}/ini/iniparser.c
- ${PROJECT_SOURCE_DIR}/qrcode/qrcode.c
- ${PROJECT_SOURCE_DIR}/qrcode/qrc.c
- ${PROJECT_SOURCE_DIR}/mongoose/mongoose.c
- ${PROJECT_SOURCE_DIR}/src/websocket_handle.c
- ${PROJECT_SOURCE_DIR}/src/io.c
- ${PROJECT_SOURCE_DIR}/src/lcd_app.c
- #${PROJECT_SOURCE_DIR}/src/lcd_drv.c
- ${PROJECT_SOURCE_DIR}/src/sensor_handle.c
- ${PROJECT_SOURCE_DIR}/src/cJSON.c
- ${PROJECT_SOURCE_DIR}/src/language_common.c
- ${PROJECT_SOURCE_DIR}/src/common.c
- ${PROJECT_SOURCE_DIR}/src/app.c
- ${PROJECT_SOURCE_DIR}/src/appweb_handle.c
- ${PROJECT_SOURCE_DIR}/src/modbus_handle.c
- ${PROJECT_SOURCE_DIR}/src/sqlite_handle.c
- ${PROJECT_SOURCE_DIR}/src/switch_ctrl.c
- ${PROJECT_SOURCE_DIR}/src/json_handle.c
- ${PROJECT_SOURCE_DIR}/src/sys.c
- ${PROJECT_SOURCE_DIR}/src/dflt.c
- ${PROJECT_SOURCE_DIR}/src/paras.c
- ${PROJECT_SOURCE_DIR}/src/xlist.c
- ${PROJECT_SOURCE_DIR}/src/thread.c
- ${PROJECT_SOURCE_DIR}/src/cascade.c
- ${PROJECT_SOURCE_DIR}/src/cascade_slave.c
- ${PROJECT_SOURCE_DIR}/src/upg.c
- ${PROJECT_SOURCE_DIR}/src/file.c
- ${PROJECT_SOURCE_DIR}/src/lock.c
- ${PROJECT_SOURCE_DIR}/src/mail.c
- ${PROJECT_SOURCE_DIR}/src/mqtt.c
- ${PROJECT_SOURCE_DIR}/src/netswitch.c
- ${PROJECT_SOURCE_DIR}/src/main.c
- ${PROJECT_SOURCE_DIR}/src/md5.c
- ${PROJECT_SOURCE_DIR}/src/language_hashmap.c
- ${PROJECT_SOURCE_DIR}/src/ntpclient.c
- ${PROJECT_SOURCE_DIR}/src/pduMIB_form.c
- ${PROJECT_SOURCE_DIR}/src/pduMIB_scalar.c
- ${PROJECT_SOURCE_DIR}/src/pduMIB_trap.c
- ${PROJECT_SOURCE_DIR}/src/hlw8110_handle.c
- ${PROJECT_SOURCE_DIR}/src/breaker_detection.c
- ${PROJECT_SOURCE_DIR}/src/cascade_slave_tcp.c
- ${PROJECT_SOURCE_DIR}/src/Cellular.c
- #${PROJECT_SOURCE_DIR}/src/wifi.c
- ${PROJECT_SOURCE_DIR}/ui/font.c
- ${PROJECT_SOURCE_DIR}/ui/lang.c
- ${PROJECT_SOURCE_DIR}/ui/gpio.c
- ${PROJECT_SOURCE_DIR}/ui/beep.c
- ${PROJECT_SOURCE_DIR}/ui/menu.c
- ${PROJECT_SOURCE_DIR}/ui/timer.c
- ${PROJECT_SOURCE_DIR}/ui/key.c
- ${PROJECT_SOURCE_DIR}/ui/led.c
- ${PROJECT_SOURCE_DIR}/ui/lcd.c
- ${PROJECT_SOURCE_DIR}/ui/ui.c
- ${PROJECT_SOURCE_DIR}/modbus/src/modbus.c
- ${PROJECT_SOURCE_DIR}/modbus/src/modbus-data.c
- ${PROJECT_SOURCE_DIR}/modbus/src/modbus-rtu.c
- ${PROJECT_SOURCE_DIR}/modbus/src/modbus-tcp.c
- )
- set(NO_WARNNING_FLAGS "-Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${NO_WARNNING_FLAGS} -Werror")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${NO_WARNNING_FLAGS} -Werror")
- add_executable(smartPDU ${PDU_SRC_LIST})
- target_link_libraries(smartPDU -lsqlite3 -lssl -lcrypto -lc -ldl -lcurl -lpthread -lnetsnmp -lnetsnmpagent -lrt)
- set(SRC_DIR ${PROJECT_BINARY_DIR})
- set(DST_DIR ${PROJECT_SOURCE_DIR}/../output)
- set(UPG_SRC_LIST ${PROJECT_SOURCE_DIR}/upgrade/md5.c
- ${PROJECT_SOURCE_DIR}/upgrade/upgrade.c)
- add_executable(smartUPG ${UPG_SRC_LIST})
- target_link_libraries(smartUPG -lc -lpthread)
- set(MEM_SRC_LIST ${PROJECT_SOURCE_DIR}/mem/mem.c)
- add_executable(memInfo ${MEM_SRC_LIST})
- target_link_libraries(memInfo -lc -lpthread)
- add_custom_command(TARGET smartUPG POST_BUILD
- COMMAND mkdir -p ${DST_DIR}/${CHIP}/pack_dir/usr/sbin
- COMMAND cp -upf ${SRC_DIR}/smartUPG ${DST_DIR}/${CHIP}/pack_dir/usr/sbin)
- add_custom_command(TARGET smartPDU POST_BUILD
- COMMAND mkdir -p ${DST_DIR}/${CHIP}/pack_dir/mnt/UDISK/app
- COMMAND cp -upf ${SRC_DIR}/smartPDU ${DST_DIR}/${CHIP}/pack_dir/mnt/UDISK/app)
- add_custom_command(TARGET memInfo POST_BUILD
- COMMAND mkdir -p ${DST_DIR}/${CHIP}/pack_dir/root/run/app
- COMMAND cp -upf ${SRC_DIR}/memInfo ${DST_DIR}/${CHIP}/pack_dir/root/run/app)
- endif()
|