DevHeads.net

Reply to comment

Review Request 119875: add support for Clang Static Analyzer and improve build configuration

Review request for KDE Base Apps.

Repository: kde-baseapps

Description
This patch add the support of the Clang Static Analyzer (<a href="http://clang-analyzer.llvm.org/" title="http://clang-analyzer.llvm.org/">http://clang-analyzer.llvm.org/</a>) implemented using a CMake target.
For each project in the main tree, it creates a <project_name>_static_analysis target which sets the c++-analyzer compiler
and then call scan-build. (see the cmake module for details)

As I couldn't find how to change the compiler for a specific target in CMake, I had to create another a CMake sub-build tree
named static_analysis_named in the main CMake build tree, and then reconfigure the project by forcing
the C++ compiler to c++-analyzer.

Also I added a configure.sh script that allow to set the build options very easily, using dialog.
So, new developers can change the compiler or set the install prefix without having to know
the specific CMake variables.

And finally i added a root Makefile, so you don't have to stay in the build directory to
compile your targets.

Diffs
CMakeLists.txt b06ba01fff7cee445fcc0b896cef041bd4c34fc8
Makefile PRE-CREATION
cmake/modules/clang_static_analysis.cmake PRE-CREATION
configure.sh PRE-CREATION

Diff: <a href="https://git.reviewboard.kde.org/r/119875/diff/" title="https://git.reviewboard.kde.org/r/119875/diff/">https://git.reviewboard.kde.org/r/119875/diff/</a>

Testing
For configure.sh :
./configure.sh
./configure.sh -c
./configure.sh -b
./configuer.sh -p

for clang static analyzer
./configure.sh
make dolphin_static_analysis

Thanks,

Mathieu Tarral

Reply