Cmake
文章平均质量分 69
s.feng
计算机视觉,C++
展开
-
CMakeLists.txt简单demo
这里需要主要一个-O3 -DNDEBUG, 我们知道-O3是编译选项,但是-DNDEBUG是宏定义,为啥都扯到FLAGS里面了,其实是我们用了set(CMAKE_BUILD_TYPE “Release”), cmake直接把“-O3 -DNDEBUG”这个字符串打包给了target_compile_options, 理论也不该这么写,但是-O3和-DNDEBUG一般同时出现,所以软件为了方便打包放一起了。这样做的目的可能是为了确保在链接阶段也使用相同的优化选项和宏定义,以保持整个编译过程的一致性。原创 2024-02-22 14:11:18 · 912 阅读 · 0 评论 -
CMake项目管理
假如项目名称叫project, 一般可以按照下面的方式组织代码,这里可以看到include里面又补了一个项目名字,这个目的是啥?目的是在一个project避免不同模块中里有相同的头文件,比如下面的A.h。目前看到很过很多框架,很好奇大家如何从头搭建一个C++的库,这里简单介绍一个基本模板。原创 2023-12-21 22:57:43 · 424 阅读 · 0 评论 -
find_package 和 find_library的区别
经常看CMakeLists.txt中有find_package和find_library,有时候没留意以为都一样,其实二者差距比较大,下面简单记录一下。find_package(NAME), 这段代码的本质就是在找一个NAME.cmake这个文件,一般在安装库的时候,会随行带一个文件NAME.cmake安装在系统的cmake文件里。https://zhuanlan.zhihu.com/p/631259689原创 2023-12-14 12:21:46 · 708 阅读 · 0 评论 -
cmake生成表达式
不积小流,无以成江海。原创 2023-12-08 19:06:56 · 559 阅读 · 0 评论 -
cmake入门(3)
cmake原创 2023-06-20 13:25:07 · 92 阅读 · 0 评论 -
cmake入门(2)
在上面的demo中可以看到有个set(CMAKE_CXX_STANDARD 11)的变量设置,不用说也知道这个是要求C++使用-std=c++11。那么如果不设置的话,CMAKE_CXX_STANDARD 默认是多少?实际上CMAKE_CXX_STANDARD如果不设置的话, cmake是不会设定这个变量的,这个变量是cmake预先占用的变量名。只有两个方式分别是add_library和add_execute,生成库目标和可执行目标。项目的名字,同时会生成许多的变量名。生成目标,在cmake中生成。原创 2023-06-19 23:50:57 · 258 阅读 · 0 评论 -
cmake入门(1)
CmakeLists.txt原创 2023-06-13 13:33:34 · 776 阅读 · 0 评论