Review Request 119875: add support for Clang Static Analyzer and improve build configuration
Milian Wolff
mail at milianw.de
Thu Aug 21 09:43:46 BST 2014
> On Aug. 20, 2014, 10:15 p.m., 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?
>
> Mathieu Tarral wrote:
> > 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.
The makefile and configure script are a really bad idea. Maybe you think its simpler for newcomers, I find it highly confusing. You need to know CMake in KDE, so use CMake everywhere. Furthermore, this will otherwise not work on Windows etc.
Generally, I think such a feature should probably go into CMake itself, or be put into our ECM if possible. The different analysers (note: there are multiple, just one 'analysis' target is not enough) should be chosen by setting CMAKE_BUILD_TYPE to something like TSAN or ASAN or ...
- Milian
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/119875/#review64948
-----------------------------------------------------------
On Aug. 20, 2014, 10:11 p.m., Mathieu Tarral wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/119875/
> -----------------------------------------------------------
>
> (Updated Aug. 20, 2014, 10:11 p.m.)
>
>
> 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/20140821/983fa16b/attachment.htm>
More information about the kde-core-devel
mailing list