我想用我的软件打包一个.clang-format
文件,只有在用户不提供自己的软件时才会使用该文件。
到目前为止,我的想法是使用clang-format -style=file
,如果用户为"located in one of the parent directories of the source file",则会找到用户.clang-format
。 (可能是这种情况,因为它在他们的主目录中,或者因为他们将我的包用作git子模块,或者因为他们在下载我的软件后手动放置它)。
如果找不到.clang-format
文件,则应使用我的软件附带的文件 - 例如通过符号链接到顶层的mypackage/auxiliary_files/.clang-format
。我想直接从cmake自动化或通过从cmake(或其他)调用shell脚本来实现这一点。
clang-format
找到.clang-format
:什么都不做(作为shell脚本exit 0
;作为cmake脚本set(I-FOUND-CLANG-FORMAT 1)
或类似的东西)
clang-format
找不到.clang-format
:致电ln -s auxiliary_files/.clang-format
我不想编写一个循环来复制clang-format
的搜索行为(将一个目录向上寻找.clang-format
,直到找到它或找到最顶层的目录)内置100%兼容性。
clang-format
,即使设置了style=file
,如果未提供样式文件, -fallback-style=none
似乎也不会返回非零状态代码。我也没有在打印输出中看到是否使用了后备选项或常规选项。