You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

41 lines
1.4 KiB

#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)