Updating conversion, creating readmes

This commit is contained in:
Jonas Zeunert
2024-04-19 23:37:46 +02:00
parent 3619ac710a
commit 08e75b0f0a
635 changed files with 30878 additions and 37344 deletions

View File

@@ -1,4 +1,4 @@
 Awesome CMake !Awesome (https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg) (https://github.com/sindresorhus/awesome)
 Awesome CMake !Awesome (https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg) (https://github.com/sindresorhus/awesome)
 (https://cmake.org/)
@@ -6,8 +6,8 @@
Your contributions are highly welcome (first see CONTRIBUTING.md (CONTRIBUTING.md)).
There is another file NonModernCMake.md (NonModernCMake.md) with other links worth taking a look, but they use obsolete practices which are considered non-modern - like not using target_*-based dependency 
management - see #16 (https://github.com/onqtam/awesome-cmake/issues/16) and #42 (https://github.com/onqtam/awesome-cmake/pull/42) for more details.
There is another file NonModernCMake.md (NonModernCMake.md) with other links worth taking a look, but they use obsolete practices which are considered non-modern - like not using target_*-based dependency management - see #16 
(https://github.com/onqtam/awesome-cmake/issues/16) and #42 (https://github.com/onqtam/awesome-cmake/pull/42) for more details.
Contents
@@ -41,8 +41,7 @@
⟡ Article (http://foonathan.net/blog/2016/07/07/cmake-dependency-handling.html) - Easy dependency management for C++ with CMake and Git.
⟡ Article (https://steveire.wordpress.com/2016/08/09/opt-in-header-only-libraries-with-cmake/) - Opt-in header-only libraries with CMake.
⟡ Article (https://rix0r.nl/blog/2015/08/13/cmake-guide/) - Ultimate Guide to Modern CMake.
⟡ Article
 (https://web.archive.org/web/20190116071957/http://voices.canonical.com/jussi.pakkanen/2013/03/26/a-list-of-common-cmake-antipatterns/) - A list of common CMake antipatterns (from 2013 but still relevant).
⟡ Article (https://web.archive.org/web/20190116071957/http://voices.canonical.com/jussi.pakkanen/2013/03/26/a-list-of-common-cmake-antipatterns/) - A list of common CMake antipatterns (from 2013 but still relevant).
⟡ Article (http://preshing.com/20170511/how-to-build-a-cmake-based-project/) - How to Build a CMake-Based Project.
⟡ Article (http://preshing.com/20170522/learn-cmakes-scripting-language-in-15-minutes/) - Learn CMake's Scripting Language in 15 Minutes.
⟡ Article (http://aosabook.org/en/cmake.html) - The architecture of CMake.
@@ -76,16 +75,16 @@
⟡ cpm (https://github.com/iauns/cpm) - C++ Package Manager based on CMake and Git. **MIT**  MIT 
⟡ conan (https://github.com/conan-io/conan) - Conan C++ Package Manager, implemented in Python and has a CMake integration backend. **MIT**  MIT 
⟡ fips (https://github.com/floooh/fips) - High-level build system/dependency management for distributed, multi-platform C/C++ projects. **MIT**  MIT 
⟡ Ninja (https://github.com/ninja-build/ninja) - Build system that differs from others in two major respects: it is designed to have its input files generated by a higher-level build system (like CMake), and it 
is designed to run builds as fast as possible. **APACHE2**  APACHE2 
⟡ Ninja (https://github.com/ninja-build/ninja) - Build system that differs from others in two major respects: it is designed to have its input files generated by a higher-level build system (like CMake), and it is designed to run builds
as fast as possible. **APACHE2**  APACHE2 
⟡ vcpkg (https://github.com/Microsoft/vcpkg) - A tool to acquire and build C++ open source libraries. Uses CMake internally as a build script language. **MIT**  MIT 
⟡ pmm (https://github.com/AnotherFoxGuy/pmm) - PMM is a module for CMake that manages... package managers. **MIT**  MIT 
⟡ cpm (https://github.com/TheLartians/CPM) - A setup-free CMake + git dependency manager. **MIT**  MIT 
Modules
⟡ cmake-modules (https://github.com/rpavlik/cmake-modules) - Ryan Pavlik (https://github.com/rpavlik)'s collection of CMake modules. There are a number of find modules, especially for virtual reality and 
physical simulation, some utility modules, and some patches or workarounds for CMake itself. **BOOST**  BOOST 
⟡ cmake-modules (https://github.com/rpavlik/cmake-modules) - Ryan Pavlik (https://github.com/rpavlik)'s collection of CMake modules. There are a number of find modules, especially for virtual reality and physical simulation, some 
utility modules, and some patches or workarounds for CMake itself. **BOOST**  BOOST 
⟡ cmake-modules (https://github.com/bilke/cmake-modules) - This is a collection of additional CMake modules. Most of them are from Ryan Pavlik. **BOOST**  BOOST 
⟡ CMake (https://github.com/Eyescale/CMake) - Eyescale (https://github.com/Eyescale)'s common CMake modules. **BSD3**  BSD-3-Clause 
⟡ cmake-modules (https://github.com/jedbrown/cmake-modules) - CMake modules for some scientific libraries. **BSD2**  BSD-2-Clause 
@@ -94,10 +93,9 @@
⟡ extra-cmake-modules (https://github.com/KDE/extra-cmake-modules) - KDE (https://github.com/KDE)'s extra modules and scripts for CMake. **BSD3**  BSD-3-Clause 
⟡ FindICU.cmake (https://github.com/julp/FindICU.cmake) - CMake module to find International Components for Unicode (ICU) Library. **BSD2**  BSD-2-Clause 
⟡ FindTBB (https://github.com/justusc/FindTBB) - CMake find module for Intel Threading Building Blocks. **MIT**  MIT 
⟡ FindWiX (https://github.com/apriorit/FindWiX) - CMake module for building Windows Installer (https://en.wikipedia.org/wiki/Windows_Installer) packages with WiX toolset (http://wixtoolset.org). **BSD3**  
BSD-3-Clause 
⟡ FindIDL (https://github.com/apriorit/FindIDL) - CMake module for building IDL (https://docs.microsoft.com/en-us/windows/win32/midl/interface-definition-idl-file) files with MIDL and generating CLR DLL using 
Tlbimp (https://docs.microsoft.com/en-us/dotnet/framework/tools/tlbimp-exe-type-library-importer). **MIT**  MIT 
⟡ FindWiX (https://github.com/apriorit/FindWiX) - CMake module for building Windows Installer (https://en.wikipedia.org/wiki/Windows_Installer) packages with WiX toolset (http://wixtoolset.org). **BSD3**  BSD-3-Clause 
⟡ FindIDL (https://github.com/apriorit/FindIDL) - CMake module for building IDL (https://docs.microsoft.com/en-us/windows/win32/midl/interface-definition-idl-file) files with MIDL and generating CLR DLL using Tlbimp 
(https://docs.microsoft.com/en-us/dotnet/framework/tools/tlbimp-exe-type-library-importer). **MIT**  MIT 
⟡ cmake-modules (https://github.com/hanjianwei/cmake-modules) - hanjianwei (https://github.com/hanjianwei)'s CMake module collection. **MIT**  MIT 
⟡ YCM (https://github.com/robotology/ycm) - Extra CMake Modules for Yet Another Robot Platform (https://github.com/robotology/yarp) and friends. **BSD3**  BSD-3-Clause 
⟡ CMakeCM (https://github.com/AnotherFoxGuy/CMakeCM) - CMake Community Modules. **NO LICENSE** 
@@ -108,18 +106,16 @@
These provide a wide range of functionality - from dealing with compiler flags to using tools. Some also contain modules.
⟡ cotire (https://github.com/sakra/cotire) - Cotire (compile time reducer) is a CMake module that speeds up the build process of CMake based build systems by fully automating techniques as precompiled headers 
and unity builds for C and C++. **MIT**  MIT 
⟡ cotire (https://github.com/sakra/cotire) - Cotire (compile time reducer) is a CMake module that speeds up the build process of CMake based build systems by fully automating techniques as precompiled headers and unity builds for C and 
C++. **MIT**  MIT 
⟡ ucm (https://github.com/onqtam/ucm) - For managing compiler/linker flags, collecting sources, precompiled headers, unity builds and others. **MIT**  MIT 
⟡ cmakepp (https://github.com/toeb/cmakepp) - Enhancement Suite for the CMake Build System. **MIT**  MIT 
⟡ sugar (https://github.com/ruslo/sugar) - CMake tools and examples: collecting source files, warnings suppression, etc. **BSD2**  BSD-2-Clause 
⟡ DownloadProject (https://github.com/Crascit/DownloadProject) - CMake module for downloading an external project's source at configure time. **MIT**  MIT 
⟡ buildem (https://github.com/janelia-flyem/buildem) - Modular CMake-based system that leverages ExternalProject to simplify builds. **LICENSE**  
(https://github.com/janelia-flyem/buildem/blob/master/LICENSE.txt)
⟡ buildem (https://github.com/janelia-flyem/buildem) - Modular CMake-based system that leverages ExternalProject to simplify builds. **LICENSE**  (https://github.com/janelia-flyem/buildem/blob/master/LICENSE.txt)
⟡ coveralls-cmake (https://github.com/JoakimSoderberg/coveralls-cmake) - Coveralls JSON coverage generator and uploader for CMake. **MIT**  MIT 
⟡ compatibility (https://github.com/foonathan/compatibility) - Improved version of cmake-compile-features. **LICENSE**  (https://github.com/foonathan/compatibility/blob/master/LICENSE)
⟡ cmake-modules (https://github.com/Tronic/cmake-modules) - LibFindMacros development repository and other cool CMake stuff. **LICENSE**  
(https://github.com/Tronic/cmake-modules/blob/master/LibFindMacros.cmake#L2)
⟡ cmake-modules (https://github.com/Tronic/cmake-modules) - LibFindMacros development repository and other cool CMake stuff. **LICENSE**  (https://github.com/Tronic/cmake-modules/blob/master/LibFindMacros.cmake#L2)
⟡ GreatCMakeCookOff (https://github.com/UCL/GreatCMakeCookOff) - This is a repository of useful and less than useful CMake recipes. **MIT**  MIT 
⟡ cppcheck-target-cmake (https://github.com/polysquare/cppcheck-target-cmake) - Per-target CPPCheck for CMake. **MIT**  MIT 
⟡ clang-tidy-target-cmake (https://github.com/polysquare/clang-tidy-target-cmake) - Add clang-tidy checks to a target using CMake. **MIT**  MIT 
@@ -128,8 +124,7 @@
⟡ tooling-cmake-util (https://github.com/polysquare/tooling-cmake-util) - Utility and common library for all polysquare CMake tools. **MIT**  MIT 
⟡ iwyu-target-cmake (https://github.com/polysquare/iwyu-target-cmake) - CMake integration for include-what-you-use. **MIT**  MIT 
⟡ sanitizers-cmake (https://github.com/arsenm/sanitizers-cmake) - CMake module to enable sanitizers for binary targets. **MIT**  MIT 
⟡ cmake-precompiled-header (https://github.com/larsch/cmake-precompiled-header) - Visual Studio and GCC precompiled header macro. **LICENSE**  
(https://github.com/larsch/cmake-precompiled-header/blob/master/PrecompiledHeader.cmake#L31)
⟡ cmake-precompiled-header (https://github.com/larsch/cmake-precompiled-header) - Visual Studio and GCC precompiled header macro. **LICENSE**  (https://github.com/larsch/cmake-precompiled-header/blob/master/PrecompiledHeader.cmake#L31)
⟡ CMakePCHCompiler (https://github.com/nanoant/CMakePCHCompiler) - CMake precompiled headers via custom compiler extension - with reuse support! **MIT**  MIT 
⟡ CMake-codecov (https://github.com/RWTH-ELP/CMake-codecov) - Enables code coverage and generates coverage reports with CMake targets. **GPL**  GPL 
⟡ cmake-get (https://github.com/pfultz2/cmake-get) - Get dependencies in config or script mode. **NO LICENSE** 
@@ -142,8 +137,7 @@
⟡ dockcross (https://github.com/dockcross/dockcross) - Cross compiling toolchains in Docker images. **MIT**  MIT 
⟡ android-cmake (https://github.com/taka-no-me/android-cmake) - CMake toolchain file and other scripts for the Android NDK. **BSD3**  BSD-3-Clause 
⟡ ios-cmake (https://github.com/cristeab/ios-cmake) - Toolchain file and examples using CMake for iOS development. **BSD3**  BSD-3-Clause 
⟡ qt-android-cmake (https://github.com/LaurentGomila/qt-android-cmake) - For building and deploying Qt based apps on Android without QtCreator. **LICENSE**  
(https://github.com/LaurentGomila/qt-android-cmake/blob/master/license.txt)
⟡ qt-android-cmake (https://github.com/LaurentGomila/qt-android-cmake) - For building and deploying Qt based apps on Android without QtCreator. **LICENSE**  (https://github.com/LaurentGomila/qt-android-cmake/blob/master/license.txt)
⟡ mingw-w64-cmake (https://github.com/lachs0r/mingw-w64-cmake) - CMake-based MinGW-w64 Cross Toolchain - to build Windows binaries of mpv. **ISC**  ISC 
⟡ cmake-avr (https://github.com/mkleemann/cmake-avr) - CMake toolchain for AVR. **LICENSE**  (https://github.com/mkleemann/cmake-avr/blob/master/LICENSE)
⟡ arduino-cmake (https://github.com/francoiscampbell/arduino-cmake) - This is the CMake project settings for the Arduino platform. **MPL**  MPL 
@@ -165,8 +159,8 @@
⟡ mini-cmake-qt (https://github.com/euler0/mini-cmake-qt) - Minimal CMake template for Qt 5 projects. **LICENSE**  (https://github.com/euler0/mini-cmake-qt/blob/master/LICENSE)
⟡ BASIS (https://github.com/cmake-basis/BASIS) - CMake BASIS (https://cmake-basis.github.io) makes it easy to create sharable software and libraries that work together. **BSD2**  BSD-2-Clause 
⟡ cpp-boilerplate (https://github.com/Lectem/cpp-boilerplate) - Template that aims to be a reference for modern CMake and CI. **MIT**  MIT 
⟡ how-to-export-cpp-library (https://github.com/robotology/how-to-export-cpp-library) - An OS-agnostic template project for exporting either shared, static or header-only C++ library, sporting ctest and CI 
support, written in plain CMake with line-by-line tutorial comments. **MIT**  MIT 
⟡ how-to-export-cpp-library (https://github.com/robotology/how-to-export-cpp-library) - An OS-agnostic template project for exporting either shared, static or header-only C++ library, sporting ctest and CI support, written in plain 
CMake with line-by-line tutorial comments. **MIT**  MIT 
⟡ modern-cmake-sample (https://github.com/pabloariasal/modern-cmake-sample) - Best practices and proper usage of CMake by using targets. **NO LICENSE** 
⟡ CMakeInstallExample (https://github.com/DeveloperPaul123/CMakeInstallExample) - Installation example for a C++ project (Windows) with Cmake. **NO LICENSE** 
⟡ cpp14-project-template (https://github.com/arnavb/cpp14-project-template) - A C++14 template with CI, tests, code coverage, docs and static analysis integration. **CC0-1.0**  CC0-1.0 
@@ -182,8 +176,8 @@
Other
⟡ autocmake (https://github.com/coderefinery/autocmake) - Using a autocmake.yml file Autocmake (http://autocmake.readthedocs.io/en/latest/) composes CMake building blocks into a CMake project and generates 
CMakeLists.txt as well as a setup script, which serves as a front-end to CMakeLists.txt. **BSD3**  BSD-3-Clause 
⟡ autocmake (https://github.com/coderefinery/autocmake) - Using a autocmake.yml file Autocmake (http://autocmake.readthedocs.io/en/latest/) composes CMake building blocks into a CMake project and generates CMakeLists.txt as well as a 
setup script, which serves as a front-end to CMakeLists.txt. **BSD3**  BSD-3-Clause 
⟡ UseLATEX (https://gitlab.kitware.com/kmorel/UseLATEX) - Collection of CMake macros to simplify building LaTeX files. **BSD3**  BSD-3-Clause 
⟡ scikit-build (https://github.com/scikit-build/scikit-build) - Improved build system generator for CPython C extensions. **MIT**  MIT 
⟡ node-cmake (https://github.com/cjntaylor/node-cmake) - CMake-based build system for node.js native modules. **ISC**  ISC 
@@ -195,8 +189,7 @@
⟡ cmake-d (https://github.com/dcarp/cmake-d) - CMake for D2. **MIT**  MIT 
⟡ cmakeprojectmanager2 (https://github.com/h4tr3d/cmakeprojectmanager2) - Enhanced CMake Project Manager plugin for Qt Creator. **NO LICENSE** 
⟡ cmake-lint (https://github.com/richq/cmake-lint) - Check for coding style issues in CMake files. cmakelint requires Python. **APACHE2**  APACHE2 
⟡ git-cmake-format (https://github.com/kbenzie/git-cmake-format) - Integrate clang-format into your CMake project hosted in a git repository. **LICENSE**  
(https://github.com/kbenzie/git-cmake-format/blob/master/license.txt)
⟡ git-cmake-format (https://github.com/kbenzie/git-cmake-format) - Integrate clang-format into your CMake project hosted in a git repository. **LICENSE**  (https://github.com/kbenzie/git-cmake-format/blob/master/license.txt)
⟡ configure-cmake (https://github.com/nemequ/configure-cmake) - configure-cmake is an autotools-style configure script for CMake-based projects. **CC0-1.0**  CC0-1.0 
⟡ cmake-ast (https://github.com/polysquare/cmake-ast) - Python module to reduce a CMake file to an AST. **MIT**  MIT 
⟡ cmake-checks-cache (https://github.com/cristianadam/cmake-checks-cache) - CMake checks cache helper modules. **MIT**  MIT