Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CMake:如何正确分发将不安装的基于CMake的库_Cmake - Fatal编程技术网

CMake:如何正确分发将不安装的基于CMake的库

CMake:如何正确分发将不安装的基于CMake的库,cmake,Cmake,据说,库作者应该在库中附带一个配置文件,而不是一个普通的查找模块。 基本上,配置文件将与系统上的关联库一起安装,用户可以透明地使用,而当用户发现库中没有任何配置文件时,find模块由用户自己编写 但是,如果我确信我的库永远不会被安装呢? 我正在做嵌入式系统开发,在系统上安装静态库没有多大意义。 不同的模块被组织为静态库,并由每个带有git子模块的项目处理 即使在这种情况下,我也可以使用配置文件吗?或者,作为库的作者,我应该写一个vanilla Find模块的示例,并对客户代码说“把它复制到您的C

据说,库作者应该在库中附带一个配置文件,而不是一个普通的查找模块。 基本上,配置文件将与系统上的关联库一起安装,用户可以透明地使用,而当用户发现库中没有任何配置文件时,find模块由用户自己编写

但是,如果我确信我的库永远不会被安装呢? 我正在做嵌入式系统开发,在系统上安装静态库没有多大意义。 不同的模块被组织为静态库,并由每个带有git子模块的项目处理

即使在这种情况下,我也可以使用配置文件吗?或者,作为库的作者,我应该写一个vanilla Find模块的示例,并对客户代码说“把它复制到您的
CMAKE_模块路径中”

或者,只要告诉客户代码CMAIK调用<代码> AddioSub目录?< /P>,仍然值得拥有,假设静态LIBs有编译定义-DuffyFoO,C++特性,例如C++ 11。通过提供配置文件,客户可以免费获取所有内容,甚至包括路径等。您应该将配置文件视为与静态库关联的元数据,这些数据仅用于安装。ps:您的嵌入式系统是否使用yocto?@MizuxDev谢谢您的评论。不,我没有用yocto。实际上我没有使用任何系统,也就是说,它是裸机。我在静态库中组织代码只是为了分离不同的模块(例如RF驱动程序库、传感器驱动程序库、HALs、应用程序代码),它们不应该安装在任何地方。比如说,它们将位于一个
第三方
目录中,并由git子模块处理。@MizuxDev如果我不想安装配置文件,有没有办法使用它们?我想你必须将
cmake分开;在您的“工作区”中进行所需的安装,以生成最终的依赖项
make install
,从而装运您的“产品”,该产品不会安装deps,因为在您的应用程序中嵌入了静态的deps