Bejegyzések

Bejegyzések megjelenítése ebből a hónapból: június, 2017

The achievements during the first GSoC period in KStars

I was able to do major improvements to the build system of KStars. I think more and more open-source projects should pick up these low-hanging fruits with CMake and Clang:

- CCache: Speed-up the development time and working with git branches by caching the compiled object files.
- Unity Build: This simple "hack" can reduce the build time dramatically by compiling temporary C++ meta files in which the normal C++ files are included. The build time can be speeded up to 2x-3x for bigger projects.
- Clang Sanitizers: Use undefined behavior and address sanitizers to hunt down memory handling errors. Although the executable must be recompiled with Clang and special compiler flags, the resulted binary will run with minimal slowdown. It is not a complete replacement, but these sanitizers can catch most of the problems found by Valgrind during normal runtime.
- Clang Format: Format the source code with a real compiler engine.

More details are on our wiki page:
https://techbase.kde.org…

Modernizing KStars codebase during GSOC

KStars has a long history and many developers touched the >136000 lines of C++ codes. The goal of my GSOC project to do a major overall improvement and bring the modern C++ features to improve the stability as well as fix the memory handling errors. I have the following goals in June to make KStars better:

May 30th to June 26th:

 ● Add ccache support
 ● Add hardening support to the CMake build system (improve security)
 ● Add Clang specific improvements to the CMake build system
 ● Add Clang sanitizers to the CMake build system
 ● Run the KStars application with the sanitizers enabled and fix all memory error found by these tools
 ● Add Unity build to the CMake build system to cut the build time
 ● Refactor codes to modern C++11/C++14 what I get in touch while fixing bugs.
 ● Add documentation about the improvements and the sanitizers to the wiki pages.

My mentor: Jasem Mutlaq