find_package
在使用第三方库时,这个内置函数很关键。函数查找的内容和位置颇为神秘。搜罗网络资料后记录在此。
它在找什么
- 找:Find.cmake
- 找:Config.cmake
- 找:-config.cmake
在那里找?
- 在这里找:share/cmake-/Modules
- 在这里找:CMAKE_MODULE_PATH
- 在这里找:/usr/local/lib/cmake//
如何添加自己的库
实践
又开始复活旧代码了,真的是。这一次尝试在windows 10 下通过CMake编译出项目依赖库之一:assimp。还好工具、代码、网络和我都不负众望。这是一次久违的0告警编译体验。
下载assimp源码
话不多说,github就在那里,得来全不费工夫。
下载CMake
- 一路向前,默认位置安装即可;主要是懒!!!
- 不要去搞命令行(过瘾),这一次咱们用GUI版CMake;
- CMake-GUI已经摆放在开始菜单里了。
使用CMake生成vcxproj文件
- 本机安装有msvc 2019 开发环境;
- cmake版本:cmake-3.20.3;
- 运行GUI版CMake;
- 选择待编译源码目录;
- 选择编译中间目录;
- 选择编译工具链,例如:我的本地编译工具链是vs 2019。
- 选择生成项目文件,此时会生成对应编译器可用的项目文件,例如:生成vcxproj文件。
- 点击“打开项目文件”,此时vs被启动。
- 最后要做的是:编译整个解决方案 debug / release / 32 /64?,咱自己定。
除vs2019外,其他编译工具我没有亲自使用,估计不难,依葫芦画瓢就好。
使用这个方法,我成功的编译出 opecv 3.4.3版本,assimp。看着干净的编译输出窗口,心里莫名的舒坦。
使用CMake生成Makefile文件
完
不识武林豪杰墓,无花无酒锄作田。—明(唐寅)