如何设置CLion以使用waf作为构建系统

7

我正在尝试配置我的Intellij Clion集成开发环境,用于处理ns-3。由于ns-3使用waf,比我想象的要棘手得多,因此很高兴听到任何建议。


3
请详细说明您的问题:您已经做了什么?尝试了哪些方法?出了什么问题?您是否阅读了Clion教程? - AlBlue
3个回答

3

CLion支持编译数据库已经有一段时间了,而waf幸运地能够使用clang_compilation_database扩展来生成它。

您需要在配置和选项步骤中加载它;例如:

def options(ctx):
    # Assuming you just copied the script into a directory called tools
    ctx.load('clang_compilation_database', tooldir='tools')
    # ...

def configure(ctx):
    ctx.load('clang_compilation_database', tooldir='tools')
    # ...

现在你可以调用waf clangdb命令,在你的构建目录中会出现一个名为“compile_commands.json”的文件。

你可能需要下载上面链接的 clang_compilation_database.py 脚本并将其放置在你的 waf tools 文件夹中(在你的情况下可能被称为其他名称)。 - Tamlyn

1
CLion只使用cmake作为其内部项目定义 - 因此您必须拥有一个cmake配置。
它可以非常简单,并且可以镜像您实际使用的另一个构建系统的某些部分,但是CLion如何处理文件以及当您告诉它构建某些内容时所做的事情都由cmake定义,而且只有cmake。

0

你可以按照Julian的建议设置编译数据库,或者尝试使用我的分支,如果你不介意使用一个不完全更新的上游项目的分支。https://github.com/Gabrielcarvfer/NS3

Visual Studio也可以与CMake项目和WSL一起使用,但ClangCL/MSVC支持正在开发中。

我计划打开一个MR来上游支持CMake,但是要完全替换Waf是很多工作的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接