我正在处理OCLint,而OCLint需要所有的编译命令来执行lint作业。现在OCLint使用xcpretty来解析xcodebuild.log来获取编译命令。所以,我必须构建项目,即使我只想要少量的源文件。我想知道除了解析xcodebuild.log之外还有其他的编译命令吗?
答案 0 :(得分:2)
这样做的一种方法是为clang
和连接符编写包装器。
使用这个答案:How can I force Xcode to use a custom compiler?你可以重定向Xcode以使用你自己的“clang”编译你的代码,这可能是一个python shell脚本。这个脚本只会获取传递给它的命令并将其转储到某个文件中。
虽然有一个细节:如果您使用自定义CC
Xcode也会尝试使用它来链接C / C ++文件,这就是为什么如果在链接器模式下调用脚本,它必须不执行任何操作。
我已将此技术用于另一项任务:使用-emit-llvm
标志编译整个项目,以将我的所有代码作为LLVM bitcode。可以找到类似Python脚本的示例here。
首先编写“hello world”脚本。告诉Xcode将其用作CC
,运行您的项目并在构建日志中查看“hello world”字符串。从那里你会知道如何继续。
答案 1 :(得分:0)
我只使用-dry-run和regexpr来过滤编译命令。 -dry-run说,
-dry-run do everything except actually running the commands
表现还可以。
如果xcode提供一个,那将是很棒的。他们将是唯一可以做到这一点的人,我认为这非常有用。