首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Ubuntu中安装.cmake扩展文件的位置是什么?

在Ubuntu中安装.cmake扩展文件的位置是什么?
EN

Stack Overflow用户
提问于 2015-05-12 21:40:14
回答 1查看 3K关注 0票数 5

我正在从事各种项目,其中一些项目提供了一个.cmake扩展,只要项目的开发包安装在您的Ubuntu系统上,我就想安装它。

Cmake2.8的模块保存在

代码语言:javascript
运行
复制
/usr/share/cmake-2.8/Modules/...

我想,如果我想安装我自己的扩展(知道一旦我们使用cmake-3.0,它就会崩溃)。

但是,似乎还有另一个地方可以安装软件包自己的扩展:

代码语言:javascript
运行
复制
/usr/share/cmake/<project-name>/...

有什么地方可以找到这方面的文件吗?到目前为止,我在谷歌上的搜索还没有给我指明正确的方向.

我找到了以下答案,但这似乎是特定于cmake而不是Ubuntu的:

CMake:在哪里安装FooBarConfig.cmake和FooBarConfigVersion.cmake?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-13 18:27:24

您可以使用您在问题中提到的CMake包配置机制。

成像您有以下CMake文件:

代码语言:javascript
运行
复制
SomeProjectConfig.cmake
SomeProjectConfigVersion.cmake
SomeProjectExtensions.cmake

SomeProjectConfig.cmakeSomeProjectConfigVersion.cmake可以由CMakePackageConfigHelpers模块生成。

例如,您可以将它们安装到/usr/share/cmake/SomeProject/文件夹中。有关CMake使用的默认路径的完整列表,请参见包装文件

SomeProjectConfig.cmake中,可以包含SomeProjectExtensions.cmake文件或展开CMAKE_MODULE_PATH变量,让用户包含CMake脚本:

代码语言:javascript
运行
复制
# SomeProjectConfig.cmake
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
set(SOME_PROJECT_SOME_VAR "...")
function(some_project_func)
    ...
endfunction()

现在您的用户可以通过CMake使用find_package脚本。

代码语言:javascript
运行
复制
# User CMakeLists.txt
find_package(SomeProject REQUIRED)
message(STATUS "SOME_PROJECT_SOME_VAR = ${SOME_PROJECT_SOME_VAR}")
some_project_func()
include(SomeProjectExtensions)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30201895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档