I guess it's good enough to support the majority of the user cases. There will always be edge cases that user-defined variables cannot be handled properly.

My understand is that, for users who know how to define *interesting* variables, they should have the enough technical skill to know how to change xcodebuild.log, or change compile_commands.json, or change oclint-xcodebuild itself to make OCLint work.

But I would like to spend time on this as well, my plan is to have a deep understand of http://llvm.org/svn/llvm-project/cfe/trunk/lib/Tooling/JSONCompilationDatabase.cpp, which handles the compile_comamnds.json logic.