没有网站怎么做seo,视频制作软件下载安装,网站关键词多少好,优秀网页设计代码# 设置cmake最低版本
cmake_minimum_required(VERSION 3.2)# project命令用于指定cmake工程的名称#xff0c;实际上#xff0c;它还可以指定cmake工程的版本号#xff08;VERSION关键字#xff09;、
#简短的描述#xff08;DESCRIPTION关键字#xff09;、主页URL…# 设置cmake最低版本
cmake_minimum_required(VERSION 3.2)# project命令用于指定cmake工程的名称实际上它还可以指定cmake工程的版本号VERSION关键字、
#简短的描述DESCRIPTION关键字、主页URLHOMEPAGE_URL关键字
#和编译工程使用的语言LANGUAGES关键字
# project(PROJECT-NAME [language-name...])
# ${PROJECT_NAME}本CMakeLists.txt的project名称
**project(xxx)**# project(PROJECT-NAME [VERSION major[.minor[.patch[.tweak]]]]
#[DESCRIPTION project-description-string][HOMEPAGE_URL url-string]
#[LANGUAGES language-name...])
project(mytest VERSION 1.2.3.4)
project (mytest HOMEPAGE_URL “https://www.XXX(示例).com”)# 获取路径下所有的.cpp/.c/.cc文件不包括子目录并赋值给变量中
**aux_source_directory(路径 变量)**# 设置变量给文件名/路径名或其他字符串起别名用${变量}获取变量内容
**set(变量 文件名/路径/...)**# 打印消息
**message(消息)**STATUS输出一条普通状态消息默认类型如果省略类型则默认为 STATUS。WARNING输出一条警告消息。AUTHOR_WARNING输出一条给构建系统维护者的警告消息。FATAL_ERROR输出一条错误消息并停止 CMake 配置过程。SEND_ERROR与 FATAL_ERROR 相同输出一条错误消息并停止 CMake 配置过程。
例子
# 输出一条普通状态消息
message(This is a status message.)
# 输出一条警告消息
message(WARNING This is a warning message.) # 编译子文件夹的CMakeLists.txt
**add_subdirectory(子文件夹名称)**# 将.cpp/.c/.cc文件生成.a静态库
# 注意库文件名称通常为libxxx.so在这里只要写xxx即可
**add_library(库文件名称 STATIC 文件)**
例子add_library(mylib STATIC src/lib.cpp src/lib2.cpp)//创建一个名为 mylib 的静态库包含 src/lib.cpp 和 src/lib2.cpp 这两个源文件
add_library(mysharedlib SHARED src/lib.cpp src/lib2.cpp)//创建一个名为 mysharedlib 的动态库# 将.cpp/.c/.cc文件生成可执行文件
**add_executable(可执行文件名称 文件)**# 规定.h头文件路径
**include_directories(路径)**#函数获取指定组件的文件名并将其保存到变量中
**get_filename_component(variable component path [BASE_DIR base-dir] [NAME_WE name-we])**variable用于存储提取的组件的变量名。component要提取的组件类型如 DIRECTORY、NAME、EXT 等。path要处理的文件路径。DIRECTORY提取路径中的目录部分。NAME提取路径中的文件名包括扩展名。EXT提取路径中的文件扩展名。NAME_WE提取路径中的文件名不包括扩展名。ABS_PATH提取路径的绝对路径。
例子get_filename_component(MY_DIR ${MY_PATH} DIRECTORY)//MY_DIR 会存储 MY_PATH 的目录部分get_filename_component(MY_NAME ${MY_PATH} NAME) //MY_NAME 会存储文件名包括扩展名#用于向目标如库或可执行文件添加编译选项
**add_compile_options(option...)**
例子target_compile_options(my_target PRIVATE -Wall -Wextra -Werror)**option(name help string describing name [initial value])**
用于定义一个可以在配置时由用户设置的选项。这个选项可以是一个布尔值ON 或 OFF
例子option(MY_OPTION Enable some feature in my project ON)
MY_OPTION 是一个选项它的描述是 Enable some feature in my project并且它的默认值是 ON#用于文件搜索的命令它会根据给定的模式匹配文件并将匹配到的文件列表赋值给一个变量
**file(GLOB ...)**
例子file(GLOB sources src/*.cpp) //使用 GLOB 收集当前目录下的所有 .cpp 文件