gpt4 book ai didi

CMake 和 clang_complete

转载 作者:行者123 更新时间:2023-12-04 05:10:06 27 4
gpt4 key购买 nike

我想设置我的 CMakeLists.txt 文件,以便它可以生成 vim 插件 clang_complete 所需的 .clang_complete 文件。

通常,您可以通过将一个参数传递给它与编译器一起提供的 python 脚本和所有编译参数来完成此操作。请注意,我省略了 cc_args.py 所在的实际目录以节省空间。

cc_args.py gcc test.c -o test -I~/IncludeDirs/

您也可以在 make 阶段执行此操作...
make CC='cc_args.py gcc' CXX='cc_args.py g++'

但是,我不确定如何(如果可能的话)在 CMakeLists.txt 文件中设置它。每次我想设置 clang_complete 时都必须输入这个真的很烦人。我之所以要这样做,是因为我有多个项目,我使用自定义脚本来构建 CMakeLists.txt 文件,因此必须为每个项目编写脚本或手动放置通用脚本是我的一个步骤想避免。

我已经尝试了一些到目前为止已经出现错误的事情。

我试过将 CMAKE_CC_COMPILER 和 CMAKE_CXX_COMPILER 设置为与第一个类似的行,即“cc_args.py g++”。这里出现的错误说它找不到编译器(这是可以理解的)。

我尝试的下一件事是将 Compiler 变量设置为 cc_args.py 并为实际编译器添加一个标志:可以说,这非常失败。 CMake 说它无法编译测试程序(考虑到脚本不是编译器,并且测试不使用我设置的标志,我对此并不感到惊讶)。

因此,无需编写任何其他需要四处移动的外部脚本,有没有人可以想到可以做到这一点的方法?

最佳答案

我知道您说过“无需编写任何其他外部脚本”,但您似乎只需要一个单行:

exec cc_args.py g++

然后将该文件设置为您的 CMAKE_CXX_COMPILER。你甚至可以使用 CMake 的 file()如果您不想分发它,则可以在构建时编写单行程序。

关于CMake 和 clang_complete,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15001421/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com