从零开始详细介绍CMake_哔哩哔哩_bilibili
文章目录
- PROJECT指令
- SET指令
- MESSAGE指令
- ADD_EXECUTABLE指令
- 语法基本原则
PROJECT指令
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
PROJECT指令
- 可以用来指定工程的名字和支持的语言,默认支持所有语言
PROJECT (HELLO) 指定了工程名字为“HELLO”,并且支持所有语言(建议)
PROJECT (HELLO CXX) 指定了工程名字,并且支持语言是C++
PROJECT (HELLO C CXX) 指定了工程名字,并且支持语言是C和C++
- 指定隐式定义了两个CMAKE的变量
工程名_BINARY_DIR,本例中是 HELLO_BINARY_DIR
工程名_SOURCE_DIR,本例中是 HELLO_SOURCE_DIR
- 如果改了工程名,这两个变量名也会改变,可以用PROJECT直接代替工程名。
PROJECT_BINARY_DIR ←→ HELLO_BINARY_DIR
PROJECT_SOURCE_DIR ←→ HELLO_SOURCE_DIR
SET指令
用来显示的指定变量的
SET(SRC_LIST 源代码名.cpp) ←→ 指定变量SRC_LIST包含了源代码名1.cpp
SET(SRC_LIST 源码1.cpp 源码22.cpp ……) ←→ 指定变量SRC_LIST就包含了源码1.cpp与源码2.cpp
MESSAGE指令
向终端输出用户自定义的信息
MESSAGE(<选项> “自定义信息” ${CMake变量})
其中选项为:
- SEND_ERROR,产生错误,生成过程被跳过。
- SATUS,输出前缀为—的信息。
- FATAL_ERROR,立即终止所有 cmake 过程.
ADD_EXECUTABLE指令
生成可执行文件
ADD_EXECUTABLE(自定义可执行文件名 ${SRC_LIST}) ←→ 生成的可执行文件名为“自定义可执行文件名”,源文件读取变量SRC_LIST中的内容
也可以直接写
ADD_EXECUTABLE(可执行文件名 源代码名.cpp)
上述CMakeLists.txt中的内容可以简化的写成:
PROJECT(HELLO)
ADD_EXECUTABLE(生成可执行文件名 源代码名.cpp)
语法基本原则
- 变量使用${}方式取值,但是在 IF 控制语句中是直接使用变量名
- 指令(参数1 参数2 ...)等参数使用括弧括起,参数之间使用空格或分号分开。如:ADD_EXECUTABLE(hello 源文件1.cpp 源文件2.cpp)或者ADD_EXECUTABLE(hello 源文件1.cpp;源文件2.cpp)
- 指令不区分大小写(推荐大写);参数和变量区分大小写。