#CMake 版本 cmake_minimum_required(VERSION 2.8) #项目名称 project(CCM_APP) #编译平台及编译架构 set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR arm) #编译工具 set(CMAKE_C_COMPILER /opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-gcc) set(CMAKE_CXX_COMPILER /opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-g++) #set(CMAKE_C_COMPILER gcc) #set(CMAKE_CXX_COMPILER g++) #编译选项 add_compile_options(-Wno-psabi) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -pthread -lmodbus ") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -std=gnu++0x -pthread -lmodbus ") #头文件目录 include本级目录以及二级目录 INCLUDE_DIRECTORIES("./include/") INCLUDE_DIRECTORIES("./include/libmodbus/") INCLUDE_DIRECTORIES("./include/tinyxml2/") #源文件目录 src本级目录 libs本级目录以及二级目录 FILE(GLOB SRC_C "./src/*.c") FILE(GLOB SRC_CPP "./src/*.cpp") FILE(GLOB LIBS_C "./libs/*.c") FILE(GLOB LIBS_CPP "./libs/*.cpp") FILE(GLOB LIBS_TINYXML2_C "./libs/tinyxml2/*.c") FILE(GLOB LIBS_TINYXML2_CPP "./libs/tinyxml2/*.cpp") FILE(GLOB LIBS_LIBMODBUS_C "./libs/libmodbus/*.c") FILE(GLOB LIBS_LIBMODBUS_CPP "./libs/libmodbus/*.cpp") #依靠依赖 add_executable(${PROJECT_NAME} ${SRC_C} ${SRC_CPP} ${LIBS_C} ${LIBS_CPP} ${LIBS_TINYXML2_C} ${LIBS_TINYXML2_CPP} ${LIBS_LIBMODBUS_C} ${LIBS_LIBMODBUS_CPP}) #target_link_libraries(${PROJECT_NAME} /usr/lib/libmodbus.so.5.1.0)