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

Mathieu Tarral mathieu.tarral at gmail.com
Wed Aug 20 23:31:45 BST 2014



> On août 20, 2014, 10:15 après-midi, Albert Astals Cid wrote:
> > Why is this per repo? This should be in a place all repos get the nice stuff without having to do work.
> > 
> > A static Makefile and a configure.sh seem like very bad ideas to me. Why do you need those over cmake?

> Why is this per repo?

Because i didn't know how to implement it in another way.
Another idea is to implement it as a plugin in the krazy framework,
so you can run it over any KDE repo without having them to implement it in their code.

> Why do you need those over cmake?

For new developers, it avoids them to learn some CMake specific variables like CMAKE_INSTALL_PREFIX and CMAKE_CXX_COMPILER.
And for developers in general, it allows them to configure the project really quickly.
It's like a very little abstraction to the CMake interface.


- Mathieu


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


On août 20, 2014, 10:11 après-midi, Mathieu Tarral wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/119875/
> -----------------------------------------------------------
> 
> (Updated août 20, 2014, 10:11 après-midi)
> 
> 
> 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/4e99dd4a/attachment.htm>


More information about the kde-core-devel mailing list