在Ubuntu中安装.cmake扩展文件的位置是什么?
我正在做各种各样的项目,其中一些提供了.cmake扩展,每当项目的开发包安装在你的Ubuntu系统上时,我都想安装它 cmake 2.8的模块保存在在Ubuntu中安装.cmake扩展文件的位置是什么?,ubuntu,installation,cmake,Ubuntu,Installation,Cmake,我正在做各种各样的项目,其中一些提供了.cmake扩展,每当项目的开发包安装在你的Ubuntu系统上时,我都想安装它 cmake 2.8的模块保存在 /usr/share/cmake-2.8/Modules/... 我想这就是我想要安装自己的扩展(知道一旦我们进入cmake-3.0,它就会崩溃) 但是,软件包似乎在另一个位置安装自己的扩展: /usr/share/cmake/<project-name>/... /usr/share/cmake/。。。 有没有一个地方可以找到关
/usr/share/cmake-2.8/Modules/...
我想这就是我想要安装自己的扩展(知道一旦我们进入cmake-3.0,它就会崩溃)
但是,软件包似乎在另一个位置安装自己的扩展:
/usr/share/cmake/<project-name>/...
/usr/share/cmake/。。。
有没有一个地方可以找到关于这个的文档?到目前为止,我在谷歌上的搜索并没有给我指明正确的方向
我找到了以下答案,但这似乎是针对cmake而非Ubuntu的:
您可以使用您在问题中提到的CMake包配置机制 您拥有以下CMake文件:
SomeProjectConfig.cmake
SomeProjectConfigVersion.cmake
SomeProjectExtensions.cmake
可以通过生成SomeProjectConfig.cmake
和SomeProjectConfigVersion.cmake
例如,您可以将它们安装到/usr/share/cmake/SomeProject/
文件夹中。有关CMake使用的默认路径的完整列表,请参见
在SomeProjectConfig.cmake
中,您可以包含SomeProjectExtensions.cmake
文件或展开cmake\u模块路径
变量,使用户可以包含cmake脚本:
# SomeProjectConfig.cmake
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
set(SOME_PROJECT_SOME_VAR "...")
function(some_project_func)
...
endfunction()
现在,您的用户可以通过find_-package
使用您的CMake脚本:
# User CMakeLists.txt
find_package(SomeProject REQUIRED)
message(STATUS "SOME_PROJECT_SOME_VAR = ${SOME_PROJECT_SOME_VAR}")
some_project_func()
include(SomeProjectExtensions)