【问题标题】:conan and cmake: get project directory from another project柯南和 cmake:从另一个项目中获取项目目录
【发布时间】:2021-12-05 17:20:12
【问题描述】:

有一个只有配置文件的项目。我无法改变这一点。有人认为这是个好主意,我必须处理它。让我们将此项目称为 A。

项目B是一个cmake c++项目,一些测试依赖于项目A中的一些配置文件。

我需要找到这些文件所在的目录,以便在测试中解析它们。

我尝试过的:

在某些项目中,我已经能够访问其他项目的文件夹。比如将某个目录添加到包含目录中:

target_include_directories(${TARGET_NAME} PUBLIC 
  "${ProjectName_INCLUDE_DIR}/Some_Other_Directory"

但在这种情况下,我尝试的都是空字符串。比如我试过

message("${project_B}")

我猜项目 A 缺少一些将其项目文件夹导出到 cmake 的功能,但我一直找不到。

如何在柯南中导出项目文件夹?项目 A 没有 CMakeLists.txt 文件。

【问题讨论】:

  • 不清楚项目A是柯南包,还是只有B,或者两者兼而有之。如果你想捕捉柯南安装包的位置,你可以使用cmake_paths生成器,将它包含在你的cmake文件中并使用导出的变量。要使用柯南导出文件夹,请阅读:docs.conan.io/en/latest/reference/conanfile/…
  • 都是柯南项目。

标签: c++ cmake conan


【解决方案1】:

我能够使用 cmake 变量 ${CONAN_PROJECTNAME_ROOT} 从项目 B 访问项目 A 的路径。

在项目 A 的 conanfile.py 中,使用了 cmake 和 cmake_find_package 生成器,我认为它们为项目 B 提供了根目录。

【讨论】:

    猜你喜欢
    • 2013-05-19
    • 1970-01-01
    • 2021-01-15
    • 1970-01-01
    • 2022-08-15
    • 1970-01-01
    • 2019-03-06
    • 1970-01-01
    • 2022-12-21
    相关资源
    最近更新 更多