随笔分类 -  【07】cmake

摘要:cmake -E 命令 功能说明 cmake -E make_directory dir 创建目录(跨平台的 mkdir) cmake -E copy file dest 拷贝文件 cmake -E copy_directory src dest 拷贝整个目录 cmake -E remove fil 阅读全文
posted @ 2025-06-10 21:31 苏格拉底的落泪 阅读(15) 评论(0) 推荐(0)
摘要:宏macro与函数function cmake中的宏(macro)和函数(function)都支持动态参数 变量ARGC记录传入的参数个数 变量ARGV0,ARGV1,...顺序代表传入的参数 变量ARGV则是一个包含所有传入参数的list 变量ARGN也是一个包含传入参数的list,但不是所有参数 阅读全文
posted @ 2023-09-21 11:31 苏格拉底的落泪 阅读(393) 评论(0) 推荐(0)
摘要:option 在 CMake 中,option() 命令的默认值取决于你如何定义它。 option() 命令的语法是: option(<variable> "description" [initial value]) 如果你指定了初始值(ON 或 OFF),那么默认值就是你指定的值 如果你没有指定初 阅读全文
posted @ 2023-07-19 20:37 苏格拉底的落泪 阅读(290) 评论(0) 推荐(0)
摘要:参考资料 1. cmake应用:从编译过程理解CMake 阅读全文
posted @ 2022-04-18 08:50 苏格拉底的落泪 阅读(83) 评论(0) 推荐(0)
摘要:add_definitions 命令原型: add_definitions(-DFOO -DBAR ...) 说明: 在源文件的编译中添加 -D 标志。 测试用例 1. 假设代码中通过USE_MACRO 作为区分是否编译部分模块的代码。 ... #ifdef USE_MACRO ... #endif 阅读全文
posted @ 2022-04-17 14:08 苏格拉底的落泪 阅读(4840) 评论(0) 推荐(0)
摘要:判断编译器类型 1. cmake命令是不区分大小写的,但是变量区分。 2. 判断编译类型:CMakeLists.txt 文件内容如下: cmake_minimum_required (VERSION 3.12.2) project (list_cmd_test) message("${CMAKE_C 阅读全文
posted @ 2022-04-17 10:53 苏格拉底的落泪 阅读(1228) 评论(0) 推荐(0)
摘要:参考资料 1. add_compile_options和CMAKE_CXX_FLAGS的区别 阅读全文
posted @ 2022-04-16 23:01 苏格拉底的落泪 阅读(309) 评论(0) 推荐(0)
摘要:命令list 说明: Reading list(LENGTH <list> <out-var>) list(GET <list> <element index> [<index> ...] <out-var>) list(JOIN <list> <glue> <out-var>) list(SUBL 阅读全文
posted @ 2022-04-16 22:03 苏格拉底的落泪 阅读(159) 评论(0) 推荐(0)
摘要:命令格式add_subdirectory (source_dir [binary_dir] [EXCLUDE_FROM_ALL])添加一个子目录并构建该子目录。命令解析​​source_dir​​必选参数。该参数指定一个子目录,子目录下应该包含CMakeLists.txt文件和代码文件。子目录可以是 阅读全文
posted @ 2022-04-14 23:03 苏格拉底的落泪 阅读(710) 评论(0) 推荐(0)
摘要:include_directories 给源文件添加头文件搜索路径:将指定目录添加到编译器的头文件搜索路径之下,指定的目录被解释成当前源码路径的相对路径。 1. include_directories:当前CMakeList.txt中的所有目标以及所有在其调用点之后添加的子目录中的所有目标将具有此头 阅读全文
posted @ 2022-04-14 21:08 苏格拉底的落泪 阅读(3051) 评论(0) 推荐(0)
摘要:设置普通变量 1. 命令格式 set(<variable> <value>... [PARENT_SCOPE]) 说明:将变量variable设置为值<value>...,变量variable的作用域为调用set命令的函数或者当前目录,如果使用了PARENT_SCOPE选项,意味着该变量的作用域会传 阅读全文
posted @ 2022-04-14 20:48 苏格拉底的落泪 阅读(405) 评论(0) 推荐(0)
摘要:project project(<PROJECT-NAME> [<language-name>...]) project(<PROJECT-NAME> [VERSION <major>[.<minor>[.<patch>[.<tweak>]]]] [DESCRIPTION <project-desc 阅读全文
posted @ 2022-04-14 20:40 苏格拉底的落泪 阅读(214) 评论(0) 推荐(0)
摘要:缓存变量 参考资料 1. CMake语法—缓存变量(Cache Variable) 阅读全文
posted @ 2022-03-01 20:40 苏格拉底的落泪 阅读(65) 评论(0) 推荐(0)
摘要:cmake_dependent_option cmake_dependent_option(<option> "<help_text>" <value> <depends> <force>) 说明: 如果<depends>中以分号分割的条件列表全部为true,则使<option>对用户可用。否则,名 阅读全文
posted @ 2022-02-24 20:51 苏格拉底的落泪 阅读(49) 评论(0) 推荐(0)
摘要:centos7仓库配置 add_custom_target 是 CMake 中用于创建自定义目标的命令,它允许你定义不会生成文件的目标,主要用于执行特定的命令或脚本。 add_custom_target(Name [ALL] [command1 [args1...]] [COMMAND comman 阅读全文
posted @ 2021-11-09 21:22 苏格拉底的落泪 阅读(77) 评论(0) 推荐(0)
摘要:project(<PROJECT-NAME> [<language-name>...]) 或 project(<PROJECT-NAME> [VERSION <major>[.<minor>[.<patch>[.<tweak>]]]] [DESCRIPTION <project-descriptio 阅读全文
posted @ 2021-10-18 22:52 苏格拉底的落泪 阅读(30) 评论(0) 推荐(0)
摘要:参考资料 1. vscode使用compile_commands.json 2. C/C++工程生成编译数据库文件compile_commands.json 阅读全文
posted @ 2021-08-15 16:30 苏格拉底的落泪 阅读(313) 评论(0) 推荐(0)
摘要:资源 参考资料 1. C++编译和构建工具笔记 阅读全文
posted @ 2021-03-14 22:32 苏格拉底的落泪 阅读(93) 评论(0) 推荐(0)
摘要:find_package 参考资料 1. cmake之深入理解find_package()的用法 阅读全文
posted @ 2019-04-18 21:37 苏格拉底的落泪 阅读(134) 评论(0) 推荐(0)