在此问题的答案中:
Where should cmake files be installed?
[我们了解到,在其他方面,(就CMake的搜索模式而言)将.cmake
文件安装在<prefix>/share/
下(可能在其中的其他子目录中)或安装到<prefix>/lib/cmake
是“可接受的”。
现在,一方面,已被接受的答案表明偏爱<prefix>/lib/cmake
;但是另一方面,与大多数(?)Linux发行版捆绑在一起,CMake本身将其.cmake
文件放在/usr/share/cmake
下。
那么哪个选项更可取?或者更确切地说,哪一种是您最常使用的知识?
PS-如果使用GNUInstallDirs
,则可以在${CMAKE_INSTALL_LIBDIR}/cmake
与${CMAKE_INSTALL_DATADIR}/cmake
之间进行选择,这也许是多平台的。
我认为这取决于.cmake
文件:
.cmake
文件,我会将.cmake
文件放置在<prefix>/lib/cmake
中.cmake
文件,/usr/share/cmake
中随附的cmake模块可能用于提供宏,我宁愿使用<prefix>/share/myapp
合理的原因是/usr/lib
应该用于存储特定于平台的信息,而/usr/share
用于存储与平台无关的数据。这是在Filesystem Hierarchy Standard中指定的内容:
应用程序可以使用/ usr / lib下的单个子目录。如果应用程序使用子目录,则所有应用程序专用的与体系结构相关的数据必须放在该子目录中。
/ usr / share层次结构适用于所有只读体系结构独立的数据文件。