# CMakeList.txt: bmser_drs 的 CMake 项目,在此处包括源代码并定义 # 项目特定的逻辑。 # cmake_minimum_required (VERSION 3.8) project ("xieneng_can") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2") if (USE_RK3568) set(CMAKE_C_COMPILER ${CMAKE_CURRENT_SOURCE_DIR}/../../buildroot/output/rockchip_rk3568/host/bin/aarch64-buildroot-linux-gnu-gcc) set(LIBDB_INC ${CMAKE_CURRENT_SOURCE_DIR}/../../buildroot/output/rockchip_rk3568/host/include/db_control) set(LIBDB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../buildroot/output/rockchip_rk3568/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/) add_definitions(-DBMSER_SW_PLATFORM="rk3568") elseif(USE_IMX6ULL) set(CMAKE_C_COMPILER ${CMAKE_CURRENT_SOURCE_DIR}/../../staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-5.4.0_musl-1.1.16_eabi/bin/arm-openwrt-linux-gcc) set(LIBDB_INC ${CMAKE_CURRENT_SOURCE_DIR}/../../staging_dir/target-arm_cortex-a7+neon-vfpv4_musl-1.1.16_eabi/usr/include/db_control) set(LIBDB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../staging_dir/target-arm_cortex-a7+neon-vfpv4_musl-1.1.16_eabi/usr/lib) add_definitions(-DBMSER_SW_PLATFORM="imx6ull") endif() find_library(DB_CONTROL_LIB NAMES db_control PATHS ${LIBDB_DIR}) message("LIBDBDIR:" ${LIBDB_DIR}) include_directories( ./ ./lib_src/db ./lib_src/j1939 ${LIBDB_INC}/can ${LIBDB_INC}/cjson ${LIBDB_INC}/utils ${LIBDB_INC}/modbus ${LIBDB_INC}/db_control ${LIBDB_INC}/mosquitto ${LIBDB_INC}/mqtt ${LIBDB_INC}/utility ${LIBDB_INC}/dev ) # 找到所有的.c file(GLOB_RECURSE SOURCES "*.c" ) # 要排除的文件列表 file(GLOB_RECURSE EX_FILE shmrw.c CMakeCCompilerId.c) list(REMOVE_ITEM SOURCES ${EX_FILE}) message("sources:"${SOURCES}) # 将源代码添加到此项目的可执行文件。 add_executable (${CMAKE_PROJECT_NAME} ${SOURCES}) target_link_libraries(${CMAKE_PROJECT_NAME} ${DB_CONTROL_LIB}) # 执行cppcheck进行静态代码分析 add_custom_target(run-cppcheck COMMAND cppcheck --enable=warning --std=c++11 --dump ${CMAKE_CURRENT_SOURCE_DIR} > cppcheck-results.txt) # 将cppcheck作为目标的依赖项 add_dependencies(${CMAKE_PROJECT_NAME} run-cppcheck) # TODO: 如有需要,请添加测试并安装目标。