Update render script and Makefile

This commit is contained in:
Jonas Zeunert
2024-04-22 21:54:39 +02:00
parent 2d63fe63cd
commit 4d0cd768f7
10975 changed files with 47095 additions and 4031084 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,8 @@
⟡ 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.
@@ -64,7 +64,8 @@
⟡ Web Book (https://cliutils.gitlab.io/modern-cmake/) - An Introduction to Modern CMake.
⟡ YouTube Series (https://vector-of-bool.github.io/2018/08/12/cmake-good.html) - How to CMake Good. **CC0-1.0**  CC0-1.0 
⟡ Lecture (https://www.youtube.com/watch?v=y7ndUhdQuU8) - More Modern CMake (slides & examples (https://github.com/Bagira80/More-Modern-CMake))- by Deniz Bahadir, Meeting C++ 2018.
⟡ Lecture (https://www.youtube.com/watch?v=y9kSr5enrSk) - Oh No! More Modern CMake (slides (https://github.com/Bagira80/More-Modern-CMake/raw/master/OhNoMoreModernCMake.pdf))- by Deniz Bahadir, Meeting C++ 2019.
⟡ Lecture (https://www.youtube.com/watch?v=y9kSr5enrSk) - Oh No! More Modern CMake (slides (https://github.com/Bagira80/More-Modern-CMake/raw/master/OhNoMoreModernCMake.pdf))- by Deniz 
Bahadir, Meeting C++ 2019.
⟡ Article (https://cristianadam.eu/20190223/modifying-the-default-cmake-build-types/) - Modifying the default CMake build types/flags, toolchains and patches - Oh my! - by Cristian Adam.
⟡ Tutorial (https://github.com/schweitzer/modern-cmake-tutorial) - Tutorial and Example on How to Properly Use Modern CMake.
@@ -76,16 +77,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 +95,10 @@
⟡ 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,8 +109,8 @@
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 
@@ -154,19 +155,22 @@
Examples / Templates
⟡ cmake-init (https://github.com/cginternals/cmake-init) - Template for reliable, cross-platform C++ project setup using CMake. **LICENSE**  (https://github.com/cginternals/cmake-init/blob/master/LICENSE)
⟡ android-cmake (https://github.com/forexample/android-cmake) - Examples of using ruslo/hunter (https://github.com/ruslo/hunter) package manager for an Android application. **BSD2**  BSD-2-Clause 
⟡ hunter-simple (https://github.com/forexample/hunter-simple) - Example of downloading/installing dependencies using ruslo/hunter (https://github.com/ruslo/hunter) package manager. **BSD2**  BSD-2-Clause 
⟡ cmake-init (https://github.com/cginternals/cmake-init) - Template for reliable, cross-platform C++ project setup using CMake. **LICENSE**  
(https://github.com/cginternals/cmake-init/blob/master/LICENSE)
⟡ android-cmake (https://github.com/forexample/android-cmake) - Examples of using ruslo/hunter (https://github.com/ruslo/hunter) package manager for an Android application. **BSD2**  
BSD-2-Clause 
⟡ hunter-simple (https://github.com/forexample/hunter-simple) - Example of downloading/installing dependencies using ruslo/hunter (https://github.com/ruslo/hunter) package manager. **BSD2**  
BSD-2-Clause 
⟡ package-example (https://github.com/forexample/package-example) - Config mode of find_package (examples for this 
(http://stackoverflow.com/questions/20746936/cmake-of-what-use-is-find-package-if-you-need-to-specify-cmake-module-path-an) Stack Overflow question). **NO LICENSE** 
⟡ minimal_cmake_example (https://github.com/krux02/minimal_cmake_example) - Minimal CMake example, that covers dependencies and packaging. **CC0-1.0**  CC0-1.0 
⟡ cmake-example (https://github.com/bast/cmake-example) - Example project which demonstrates various CMake features. **BSD3**  BSD-3-Clause 
⟡ cmake-examples (https://github.com/ttroy50/cmake-examples) - Useful CMake examples in a tutorial format. **MIT**  MIT 
⟡ 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 
⟡ 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 
@@ -177,13 +181,13 @@
⟡ pitchfork (https://github.com/vector-of-bool/pitchfork) - A set of conventions for native C and C++ projects. **MIT**  MIT 
⟡ cmake-examples (https://github.com/pr0g/cmake-examples) - A collection of as simple as possible, modern CMake projects. **MIT**  MIT 
⟡ cpp-project (https://github.com/bsamseth/cpp-project) - Boiler plate for C++ projects - tests, CI, coverage, docs. **UNLICENSE**  UNLICENSE 
⟡ ModernCppStarter (https://github.com/TheLartians/ModernCppStarter) - A template for modern C++ projects using CMake, CI, code coverage, clang-format, reproducible dependency management, tests using doctest 
(https://github.com/onqtam/doctest) and much more. **UNLICENSE**  UNLICENSE 
⟡ ModernCppStarter (https://github.com/TheLartians/ModernCppStarter) - A template for modern C++ projects using CMake, CI, code coverage, clang-format, reproducible dependency management, 
tests using doctest (https://github.com/onqtam/doctest) and much more. **UNLICENSE**  UNLICENSE 
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