From: Hrvoje V. <hrv...@gm...> - 2020-12-26 10:24:10
|
Hi everyone, I am new to the project, both from user and dev perspective. In a couple of days with playing around with the check, I have a few ideas that I can contribute back to the project. Sorry if this was previously discussed. 1. It seems that check_mem_leaks is not part of the CMake build although it is integrated into GNU Autotools scripts. Integration into GNU Autotools scripts was done brarcher. See his commit 8699473b65011b50766d536222329eeb3953f1cc: commit 8699473b65011b50766d536222329eeb3953f1cc Author: brarcher <brarcher@64e312b2-a51f-0410-8e61-82d0ca0eb02a> Date: Wed Dec 18 21:37:09 2013 +0000 check_mem_leaks: add new unit test for use against valgrind I am not sure if that was intention. Is there a possibility that author forgot to include it into CMake scripts? In any case, I have prepared a commit that adds check_mem_leaks to CMake scripts. I just haven't created a pull request. 2. Continuing from the first one; maybe it is better if project uses just one build system? If you guys agree with this, I propose that we keep using GNU Autotools and ditch CMake since this is a "pure UNIX" software; Windows users needs to install MinGW, MSYS or Cygwin. I strongly encourage only one build system, whichever the choice. I can prepare a commit for this if we can agree with this. 3. Valgrind reports a lot of memory issues; leaks and invalid reads and writes. My idea is to fix everything what can be fixed. 4. Write a Dockerfile that can be used to build the project, run tests including running Valgrind to check for memory errors, generate API documentation, and to have a static code analysis of the whole codebase. 5. Integrate this Docker Container into Travis CI so that it can automatically do all steps mentioned from the previous step. I do apologies if I sound like I am trying to impose myself into the project since I am a newbie to it. I just feel like I need to contribute my know-how. Let me know what do you think about this. If you do agree about any or all of the points above, I can create an issue for each individual point so that we can track them. br, Hrvoje |