自动生成Find Cmake并安装它以进行导入
Generate Find Cmake automatically and install it for importing
是否有办法创建一个FindXXX。其中XXX是我的cmake项目?我看到很多项目都创建了FindXXX。我可以手动创建,但我相信可以自动创建。
在Linux上我应该在哪里安装我的项目?
谢谢!
看看CMake的项目配置文件机制(以及cmakepackageconfighter模块;你可能也想看看这个wiki页面)。
查找脚本在查找不知道CMake本身的依赖项时是最有用的。另一方面,如果依赖项也是用CMake构建的,你可以让CMake自动为你生成一个项目配置文件,作为项目构建过程的一部分。该配置文件将允许您从封闭项目中引用该项目的目标,就好像它们是作为封闭项目的CMake运行的一部分构建的一样。这甚至比使用查找脚本更强大,因为它允许在传统查找脚本可用的debug
/optimized
选项之外对配置进行不同的处理。
在Windows上,以这种方式生成配置文件的项目将在CMake中注册自己,这样在同一台机器上构建的不同项目可以自动找到它们,而无需任何额外的配置。如果你在非windows平台上构建(或者你在不同的机器上构建两个库),你必须将配置文件放在默认目录中(find_package
的文档描述了搜索哪些目录),或者使用CMAKE_MODULE_PATH
显式地指向CMake的位置。
现代cmake意识库应该总是更喜欢这种方法,而不是传统的查找脚本。Qt5就是一个很好的例子。
CMake支持使用configure_file()命令进行模板化。
CMake查找FindXXX的标准目录。Cmake模块列在find_package()命令的文档中
相关文章:
- 在Ubuntu 16.04上安装Cilk时出现问题
- 尝试导入pybind-opencv模块时出现libgtk错误
- 导入库可以跨dll版本工作吗
- 在CMakeLists.txt的安装功能中使用.cmake文件有什么用
- C++:如何在CLion IDE中安装Boost
- 建议在运行时将带有类实例的列表从c++导入qml
- 安装opencv失败-粘贴CMakeError.log的内容
- 在cygwin中测试新的boost安装时出现cpp错误
- 导入/导出变量时出错
- 有人安装"IITB Simplecpp in mac"吗?
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 将QT项目导入Visual Studio 2019会给我带来很多LNK2001错误
- 是否可以将函数导入命名空间,但不能导出它?
- 我可以在 Arduino 的库文件夹之外安装库吗?
- Mingw-64 在构建和安装后不会编译 openCV 代码
- 如何将 CLion C++ 项目导入 Visual Studio?
- Python 3.8 不能与 Pybind11 一起导入 [Windows]
- 如何导入使用自制软件安装的 GMP?
- 如何导入或安装预构建的Python扩展模块(C )(即未通过Setuptools编译的库)
- 自动生成Find Cmake并安装它以进行导入