首页 > 其他分享 >CMake文件CMakeLists.txt,语法精讲

CMake文件CMakeLists.txt,语法精讲

时间:2022-12-02 12:11:20浏览次数:42  
标签:CMakeLists set CMAKE CXX CANopen 精讲 CANOPEN CMake 源代码

 

 

 

#*************** CMakeLists.txt ********************* 
# CMake 最低版本号要求 
cmake_minimum_required(VERSION 3.16)

# arm嵌入式c,编译器使用这个
set(CMAKE_C_COMPILER "arm-linux-gnueabihf-gcc")
# arm嵌入式c++,编译器使用这个
set(CMAKE_CXX_COMPILER "arm-linux-gnueabihf-g++")

# This project requires C++11.
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
# 自定义编译选项, 可以在cmakelist文件接下来的部分使用
# 与set 的区别, set有更丰富的 使用方法, 而option只能定义 ON 或者 OFF
option(LEVELDB_BUILD_TESTS "Build LevelDB's unit tests" ON)
option(LEVELDB_BUILD_BENCHMARKS "Build LevelDB's benchmarks" ON)
option(LEVELDB_INSTALL "Install LevelDB's header and library" ON)
 
# 设置工程名、版本等信息
project (CANopen_Linux VERSION 1.22.0 LANGUAGES C CXX)
# 编译命令后缀 因为使用了线程,需要添加-lpthread 
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -lpthread")
# c++使用这个
set(CMAKE_CXX_FLAGS -lpthread)

# 包含头文件目录
include_directories (main CANopen/inc CANopen/inc/linux )
include_directories (CANopen/dictionary CANopen/hardware)

# 添加源代码目录
aux_source_directory(${PROJECT_SOURCE_DIR}/CANopen/src CANOPEN_SRC) #添加canopen源代码目录
aux_source_directory(${PROJECT_SOURCE_DIR}/CANopen/hardware CANOPEN_HARDWARE) #添加硬件源代码目录
aux_source_directory(${PROJECT_SOURCE_DIR}/CANopen/dictionary CANOPEN_DICTIONARY) #添加词典源代码目录
aux_source_directory(${PROJECT_SOURCE_DIR}/main MAIN_SRCS) #添加main程序入口代码目录

# 指定生成目标canopen_exe
add_executable(canopen_exe ${MAIN_SRCS} ${CANOPEN_HARDWARE} ${CANOPEN_SRC} ${CANOPEN_DICTIONARY})

 

标签:CMakeLists,set,CMAKE,CXX,CANopen,精讲,CANOPEN,CMake,源代码
From: https://www.cnblogs.com/suntroop/p/16944065.html

相关文章

  • 使用cmake混编c和c++
    由于项目的需求,需要将c和c++混编,项目采用cmake。直接上代码:project(mainCXXC)#这里可以不写CXX和C,但不能只写一个,否则只会编译指定语言set(CMAKE_CXX_FLAGS"${CMA......
  • Linux--常用命令精讲
    一、Linux命令基础  1.1:Shell脚本Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。所有语言的特性:源......
  • cmake base
    cmake..-DCMAKE_INSTALL_PREFIX=D:/path/x64/releasecmake--build.--configRelease--targetinstallcmake..-DCMAKE_BUILD_TYPE=Release-DBUILD_SHARED_LIBS=......
  • cmake二进制镜像下载地址
    cmake官网里点击下载是使用github的地址分发,比较慢国内有关于Windows版本的cmake下载镜像地址吗?-林小得的回答-知乎https://www.zhihu.com/question/391315769/answe......
  • cmake的几个常用语法整理
    1、​​find_library​​寻找库此命令用于查找库。<VAR>创建名为的缓存条目以存储此命令的结果。如果找到库,则结果存储在变量中,除非清除变量,否则不会重复搜索。如果找不到......
  • CMake no longer defines WIN32 on Cygwin!
    set(CMAKE_LEGACY_CYGWIN_WIN320)#RemovewhenCMake>=2.8.4isrequiredcmake_minimum_required(VERSION3.1)​​https://stackoverflow.com/questions/28683365/how......
  • windows--cmake与c++的使用教程(14)
    1概述本文基于前文环境本节目标:target_include_directories用法2作用target_include_directories的作用,用于给固定目标指定头文件搜索路径。moderncmake之......
  • Qt5 CMake项目简单模板
    cmake_minimum_required(VERSION3.5)project(testVERSION0.1LANGUAGESCXX)set(CMAKE_INCLUDE_CURRENT_DIRON)set(CMAKE_CXX_STANDARD11)set(CMAKE_CXX_STAN......
  • 从零开始介绍cmake
    从零开始介绍cmake-bilibili说明cmake的定义是什么?-----高级编译配置工具当多个人用不同的语言或者编译器开发一个项目,最终要输出一个可执行文件或者共享库(dll,so等等......
  • Make 与 CMake
    Make与CMakeCMake入门实战Make......