ein*_*ica 5 c++ packaging cmake
在这个问题的回答中:
我们了解到,除其他地方外,将.cmake文件安装在<prefix>/share/(可能在其他子目录中)或安装到<prefix>/lib/cmake.
现在,一方面,那里公认的答案表明偏好<prefix>/lib/cmake;但另一方面,CMake 本身与大多数(?)Linux 发行版捆绑在一起,将其.cmake文件放在/usr/share/cmake.
那么哪个选项更可取呢?或者更确切地说,据您所知,哪个是最常用的?
PS - 如果您使用,则可以在vsGNUInstallDirs之间进行选择,这可能更具多平台性。${CMAKE_INSTALL_LIBDIR}/cmake${CMAKE_INSTALL_DATADIR}/cmake
我认为这取决于文件.cmake:
.cmake用于在 cmake 项目中导入库的文件,我会将文件.cmake放在<prefix>/lib/cmake.cmake可用于提供宏的文件(如 cmake 模块一样)/usr/share/cmake,我宁愿使用<prefix>/share/myapp合理性是/usr/lib应该用于存储平台特定信息,而/usr/share用于与平台无关的数据。这是文件系统层次结构标准中指定的内容:
应用程序可以使用 /usr/lib 下的单个子目录。如果应用程序使用子目录,则该应用程序专用的所有依赖于体系结构的数据都必须放置在该子目录中。
/usr/share 层次结构适用于所有只读体系结构独立数据文件。