CMake常用字段详解 一

cmake_minimum_required(version) :指定cmake工具的最低版本

include_directories(dir):-I指定的头文件路径

link_directories(dir):-L包含的库文件路径

PROJECT(name):项目命名

add_subdirectory(math):指明本项目包含一个子目录 math,这样 math 目录下的 CMakeLists.txt 文件和源代码也会被处理 ;

LIBRARY_OUTPUT_PATH:库生成的输出目录

EXECUTABLE_OUTPUT_PATH:可执行文件生成的输出目录

aux_source_directory(dir var):将dir目录下所有文件自动存储到var变量中

add_library(name SHARE source_set):用source_set变量包含的所有文件集合生成libname.so共享库

add_library(name STATIC source_set):用source_set变量包含的所有文件集合生成libname.a静态库

add_executable(name source_set):用source_set变量包含的所有文件集合生成可执行文件name

target_link_libraries(name lib_set):指定通过add_executable或者add_library生成name目标时去链接的库集合

install(TARGETS name_set DESTINATION dir):将name_set目标集合全部安装到dir目录

SET(var value_set):设置var的值为value_set包含的值得集合

if(DEFINE XXXX) {}elseif(){}else{}endif():判断XXX是否被定义的条件选择逻辑

if(A_XXX STREQUAL B_XXX):判断A_XXX与B_XXX字符串是否相等

CMAKE_INSTALL_PREFIX #make install 的安装路径

CMAKE_BUILD_TYPE #生成的目标为debug或者release

CMAKE_C_FLAGS_DEBUG:debug模式下增加的c编译参数

CMAKE_C_FLAGS_RELEASE:release模式下增加的c编译参数

CMAKE_CXX_FLAGS_DEBUG:debug模式下增加的c++编译参数

CMAKE_CXX_FLAGS_RELEASE:release模式下增加的c++编译参数

CMAKE_C_FLAGS #gcc 的编译参数指定,这个非常好用,一般通过set 修改其值

CMAKE_CXX_FLAGS #g++ 和上面CMAKE_C_FLAGS 类似

CMAKE_CURRENT_SOURCE_DIR # 当前CMakeLists.txt所在的目录,主要用来定位某文件

CMAKE_CURRENT_BINARY_DIR # 当前CMakeLists.txt对应的编译时的目录

CMAKE_C_COMPILER #C编译器

CMAKE_CXX_COMPILER #C++编译器

 

---------------------检查编译器是否支持xxx特性(如c++版本类型)----------------------------------

include(CheckCXXCompilerFlag)

CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPLILER_SUPPORT_CXX11)

CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPLILER_SUPPORT_CXX0X)

if(COMPILER_SUPPORT_CXX11)

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -ldl")

elseif(COMPILER_SUPPORT_CXX0X)

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -ldl")

endif()

-------------------------------------------------------------------------------------------------------------------

 

message(STATUS "str"):输出str字串

 

注意事项:

1.CMAKE的命令是不区分大小的,变量时区分大小写的

2.CMake命令执行时,用-D定义的变量可以在CMakeList.txt中检测到,常常用来在编译时指定一

些必要条件;

3.CMake执行时,可以用-D指定CMakeList中(即CMake)的内部变量值,在CMakeList.txt中也

能被检测到;

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
cmake开发手册详解.pdf》是一本介绍CMake开发工具的详细指南。CMake是一个开源的跨平台构建工具,用于自动生成各种编译环境和构建脚本,可以简化软件项目的编译过程。 该手册首先对CMake的基本概念和工作原理进行了详细介绍。它解释了CMake如何根据CMakeLists.txt文件中的指令生成相关的构建脚本,并且提供了丰富的示例代码帮助读者理解和使用CMake。通过学习这些内容,读者可以了解到如何编写CMakeLists.txt文件以及如何使用CMake来构建和管理项目。 手册还提供了对CMake的高级特性的深入讲解。例如,它介绍了CMake的模块化机制,可以通过导入外部模块来扩展CMake的功能。它还详细讲解了CMake中的变量、函数和宏的使用方法,以及如何通过条件判断和循环来控制构建过程。这些内容对于更复杂的项目来说非常有用,读者可以根据自己的需求来学习和应用。 除了基本的CMake功能外,手册还介绍了CMake在不同平台和构建系统下的应用。它对CMake常用的编译器和IDE的集成进行了讲解,包括在Windows、Linux和Mac上的使用方法。此外,手册还涵盖了CMake在多个构建系统上的应用,如Make、Ninja等,读者可以根据自己的平台和构建系统选择适合自己的配置。 总的来说,《cmake开发手册详解.pdf》是一本全面介绍CMake的指南,适合初学者和有一定经验的开发者阅读。通过学习这本手册,读者可以更好地理解和使用CMake,提高软件项目的构建效率和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值