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

Mathieu Tarral mathieu.tarral at gmail.com
Wed Aug 20 23:11:53 BST 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/119875/
-----------------------------------------------------------

Review request for KDE Base Apps.


Repository: kde-baseapps


Description
-------

This patch add the support of the Clang Static Analyzer (http://clang-analyzer.llvm.org/) 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: https://git.reviewboard.kde.org/r/119875/diff/


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20140820/a9a12cb6/attachment.htm>


More information about the kde-core-devel mailing list