cmake_minimum_required(VERSION 3.10) #x86平台 #set(CMAKE_C_COMPILER gcc) #set(CMAKE_CXX_COMPILER g++) #交叉编译 set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc) set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++) #if(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") # add_definitions(-IF_RUNIN_VM=1) #endif() set(CMAKE_BUILD_TYPE "Debug") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -Wall -g") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -Wall -g") # 设置一个字符串变量,用与编译文件名称生成 set(ProjectName "EMS_C_V1.0.0") project(${ProjectName}) # 添加包含的头文件目录 include_directories( /usr/include/libxml2 /usr/include/libxml2/libxml /usr/include/cjson /usr/local/include ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/app ${PROJECT_SOURCE_DIR}/kernel ${PROJECT_SOURCE_DIR}/bsp ${PROJECT_SOURCE_DIR}/driver ${PROJECT_SOURCE_DIR}/lib ${PROJECT_SOURCE_DIR}/logic ${PROJECT_SOURCE_DIR}/mw ) # 连接库的位置 link_directories(/usr/local/lib ${CMAKE_SOURCE_DIR}/clib/x86) link_directories(${CMAKE_SOURCE_DIR}/clib/aarch64) add_executable(${ProjectName} main.c argparse.c daemon.c app/app_parse.c app/app_task_regedit.c bsp/bsp_data_mode.c bsp/bsp_mqttClient.c bsp/bsp_mqttAsync.c bsp/bsp_msgQueue.c driver/drv_tcp_client.c driver/drv_uart.c driver/drv_gpio.c driver/drv_4g.c driver/drv_wifi.c driver/forlinux_fcu2601/drv_gpio_forlinux_fcu2601.c kernel/kit_math.c kernel/kit_string.c kernel/kit_time2.c kernel/kit_log.c kernel/kit_core.c mw/mw_schedule_handle.c logic/logic_main.c logic/logic_peakvalley.c logic/logic_protected.c logic/logic_demandctrl.c logic/logic_debug.c logic/logic_power_distr.c logic/logic_task_data.c logic/logic_dido.c logic/logic_bcu2bsu.c logic/logic_tempCtrl.c ) # 添加编译选项 target_compile_options(${ProjectName} PRIVATE -fno-stack-protector) target_link_libraries(${ProjectName} csunmodbus csunshmrtdb csundb csunntp sqlite3 paho-mqtt3c pthread cjson paho-mqtt3a)