CMake比较实用的命令小记

最近将项目迁移到CMake进行管理,对CMake进行了一些研究,觉得有一些命令非常实用但很少有资料提到,在这里做一个总结,至于太普通常用的命令就不提了。

OPTION(OPTION_VAR “Description” [initial value]):用于管理编译选项,定义并初始化自定义变量。

例:

OPTION(BUILD_TEST  "Build the test project" ON)

FIND_PATH(<VAR> name path1 path2):查找包含path1,path2的路径,可以在CMake界面中手动设置。可以用来设置包含库或者头文件的路径。

例:

FIND_PATH(LIB_INCLUDE_DIR Test)

FIND_LIBRARY(<VAR> name path1 path2 …):与FIND_PATH相似,需要得到指定文件路径。

FILE(GLOB variable [RELATIVE path] [globbing expressions]...):文件的基本操作,可用于查找指定目录中所有指定格式的文件,省去很多手动Set的麻烦。

例:

FILE(GLOB HEAD_Files “{CMAKE_SOURCE_DIR}/*.h”)

ADD_SUBDIRECTORY(src_dir [binary_dir] [EXCLUDE_FROM_ALL]):向当前工程添加存放源文件的子目录,并可以指定中间二进制和目标二进制的存放位置。

例:

ADD_SUBDIRECTORY(Common)

INSTALL(TARGETS targets... [EXPORT <export-name>] [...]):指定在安装时要运行的规则。可用于运行文件或者库文件的安装和复制。

例:

INSTALL(TARGETS main DESTINATION “../lib/main.cpp”)
INSTALL(FILES ${HEAD_Files} DESTINATION "../lib/include")
时间: 2024-12-09 02:39:04

CMake比较实用的命令小记的相关文章

所有Mac用户都需要知道的9个实用终端命令行

通常情况下,只有高端用户才会经常用到终端应用.这并不意味着命令行非常难学,有的时候命令行可以轻松.快速的解决问题.相信所有Mac用户都尝试过命令行,今天为大家带来9个非常实用的命令行操作.一些命令行需要安装Xcode之后才可以实用,Xcode在Mac App Store中免费供应. 1.使用caffeinate阻止Mac运行屏幕保护和睡眠 caffeinate能阻止Mac进入睡眠状态,而且屏幕保护也不会激活.我们最好使用-t为命令加入具体的时间.比如下面的命令可以使Mac一小时内不进入睡眠状态.

cmake的两个命令: option 和 configure_file

本节要讨论的是cmake的两个命令: option 和 configure_file option 选项,让你可以根据选项值进行条件编译. configure_file 配置文件,让你可以在代码文件中使用CMake中定义的的变量 option Provides an option that the user can optionally select. option 提供一个用户可以任选的选项.语法如下 option(<option_variable> "help string de

实用小命令

一.实用小命令 1.1.cat cat命令主要用来查看文件内容,创建文件,文件合并,追加文件内容等功能.常用选项-n :查看文本时显示行号-b :查看文本时显示行号,有空白的行不计其内-E :显示是否换行,结尾以"$"结尾表示有换行-A :显示TAB是否有加键,一个"^I"表示一个TAB-s :压缩相邻的空行为一个 (1)测试文件 [[email protected] ~]# cat F1 123 456 789 123123 (2)-n :查看文本时显示行号 [[

CMake如何执行shell命令

我在cmake编译后想执行一些特定的shell命令(执行.lcov收集代码覆盖报告等),我又不想写到XX.sh的shell脚本中,如何直接通过CMake执行shell命令呢? 在网上翻江倒海了一下,找到了一个老外写的cmake脚本,参考他,自己写了下,终于实现了我的目标,主要是用ADD_CUSTOM_TARGET和EXECUTE_PROCESS来实现.具体实现我还是用经典的hello world来解释下: 在你的CMakeLists.txt中,加入以下代码: SET(RUN_HELLO_WORL

cmake的四个命令:add_compile_options()add_definitions()target_compile_definitions()build_command()

* add_compile_options() Adds options to the compilation of source files. 增加源文件的编译选项. add_compile_options(<option> ...) Adds options to the compiler command line for targets in the current directory and below that are added after this command is invo

31个实用find命令的案例

一.主要内容 ============================================ 1. 用文件名查找文件 2.用文件名查找文件,忽略大小写 3. 使用mindepth和maxdepth限定搜索指定目录的深度 4. 在find命令查找到的文件上执行命令 5. 相反匹配 6. 使用inode编号查找文件 7. 根据文件权限查找文件 8. 找到home目录及子目录下所有的空文件(0字节文件) 9. 查找5个最大的文件 10. 查找5个最小的文件 11. 使用-type查找指定文件

linux实用小命令--查看文本内容

一.cat命令 $ cat [参数]filename 这还有一些可以和cat命令一起用的参数,可能对你有所帮助. 1.-n 参数会所有的行加上行号: $ cat -n test1 2.这个功能在检查脚本时很有用.如果只在有文本的行加上行,可以用-b参数. $ cat -b test1  3.最后,如果不让制表符出现,可以用-T参数. $ cat -T test1 -T参数会用^I代替文中的所有制表符. 对于大文件来说,cat看起来就不太方便了.不如看看其他命令吧 二.more命令 使用more命

实用Linux命令集锦

top命令 监控系统的运行状态,并且可以按照cpu.内存.执行时间进行排序. 第一行中,03:30:22是当前时间,up 39 min是系统运行的运行了多长时间,1 user指出了当前有几个用户登录到系统,load average指的是系统负载,这后面的三个值分别是1分钟,5分钟,15分钟的系统负载平均值. 如果仅仅需要第一行中的信息,可以使用uptime命令. 第二行中,Task指出了当前系统有多少个进程,以及各种状态的进程统计信息. 第三行是%Cpu(s),代表了CPU占用比例,其中: us

WIN实用快捷命令

办公篇 mspaint 画图板 winver   检查win版本 dxdiag   win系统查看命令 msconfig.exe 系统配置 winchat  xp自带局域网聊天 mem.exe   显示内存使用情况 route.exe查看路由表 解错篇 eventvwr.msc查看日志 services.msc查看服务 drwtsn32 系统医生 淫湿篇 iexpress    木马捆绑工具 mstsc      远程桌面链接