Skip to content

Conversation

@VShilenkov
Copy link

supports CMake
build, install, test routines available
generate cmake configuration for find_package()
generate pkg_config instructions

supports include_what_you_use, clang-tidy, unit testing, generation of examples, code coverage report

@lammertb
Copy link
Owner

lammertb commented May 1, 2022

Thanks for the pull request.

Can you explain to me what these more than 1300 undocumented lines add to the functionality of the CRC calculations?

@VShilenkov
Copy link
Author

Code of the project ( sources and headers) was untouched. So it doesn't affect functionality.
This PR allows all who uses CMake include libcrc to the project in a straightforward way.
Also for those who rely on pkg_config ways of resolving dependencies

@lammertb
Copy link
Owner

lammertb commented May 2, 2022

So it doesn't add functionality to the CRC functionality, only functionality for project management.
And to be honest, I don't like undocumented code.

Without documentation, this PR will not be merged.

@VShilenkov
Copy link
Author

cmake lists has inline comments which describes sections and purpose of each block
give me an example of how would you like this files to be documented and I will work on that

@lammertb
Copy link
Owner

lammertb commented May 4, 2022

It should basically cover the following points

  • What it does in a broad sense
  • How it functions internally
  • How it should be invoked
  • If the code is auto-generated or manually coded
  • If it is auto-generated, which tools and settings were used
  • If it is a derived work or original work
  • The license under which the derived or original work is released

@lammertb
Copy link
Owner

lammertb commented May 5, 2022

As an addition: please also look at the INSTALL file in https://github.com/lammertb/libcrc/blob/master/INSTALL which details the specific reasons why the old-fashioned make tool was used in the package, rather than cmake.

@VShilenkov
Copy link
Author

  • in a broad sense it provides CMake support, which gives everything that it usually gives: build, test, install, config for CMake projects
  • provides developer options: build and run tests, build and run examples, collect code coverage, verify with static code analysis like clang-tidy,
  • About internal functions: all CMake modules are now documented with the standard documentation way for CMake scripts
  • On how to invoke: described in INSTALL file
  • It is manually coded, no tools used
  • it is part of the collection of cmake scripts that I wrote during my previous work, it is not published yet
  • some files are marked with license now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants