【发布时间】:2018-01-24 15:20:13
【问题描述】:
有没有办法在 CMakeLists.txt 的指令之一中为 #included 资源创建别名?
我正在寻找一种在 CMakeLists.txt 中定义某些内容的方法,以便出现任何全局资源,例如
#include <some/global/dependency/file.h>
将别名为正确的资源,因此 CMake 还将在以下位置查找它
#include "../file/is/here/file.h"
#include "file.h"
#include <alias.h>
为什么?
我正在使用容器化构建系统开发一个非常复杂的项目。意味着,应该做大量的手动工作以使项目在任何 IDE 中运行良好。实际上,主项目中有很多子项目是通过大量专用配置单独编译的。
我使用 CLion 作为我的 IDE。 CLion 支持 CMake 开箱即用,但我的项目没有使用 cmake :) 我通过使用 include_directories() 指令简单地包含许多文件夹(带有头文件)创建了自定义 CMakeLists.txt 文件,现在它运行良好。它能够识别符号/导航/宏生成并为包含的文件建立一个很好的索引。
但是我有这个问题,在某些文件中,CLion 无法识别文件路径,因为#include 指的是我的真实文件系统上不存在的全局(预构建/容器化)路径/文件,但通常,任何此类资源存在于不同路径下的项目中。所以我想知道有没有办法只指示 CMake 执行以下操作:
- 如果要求
#include来自 XXX 路径的内容 - THEN 先在 YYY 路径或 ZZZ 路径等下查找...
- 如果上述步骤2中没有找到资源,请在XXX路径下查找
如果您能通过使用更好的术语等编辑问题和标题来帮助我改进问题和标题,我将不胜感激......
【问题讨论】: