Repository files navigation

C++ Devstack CMake Starter

Project Brief

This project is a CMake template that can be used to set up a DevStack consisting primarily of open-source libraries. The project also sets up a test environment that can be used for CI integration. In addition, the project implements Doxygen automation.

Usage

The project is primarily designed for use with the MSYS Mingw64 subsystem. It can also be used with MSVC. However, the Mingw subsystem offers a higher degree of automation. Processes such as Doxygen automation, automated icon conversion, release-ready packaging, and GMP provision may need to be performed manually for MSVC or automated independently via a utils.win.mk file. The project should also be easily portable to other platforms and compilers.

Automated Compilation

The packaging of CMake calls within this project is handled via several compiler- and shell-specific Make targets. Depending on whether make is called in a Windows shell or a Mingw shell, different shell- and compiler-specific targets are loaded and made available. Compilation can be performed using the build (Debug) and rbuild (Release) targets. Compilation followed by execution of a configured target is initiated via launch (Debug) and rlaunch (Release). Using build-angle (specify via Make flags), you can also generate builds with Angle as the rendering backend for Raylib.

Project Structure

The project allows you to build multiple executables simultaneously. Shared source code can be declared in src and is automatically linked during the build into a static library, which is then linked for each executable. The .cpp files intended to run as native Windows programs (no console in the release) are placed in Procs/native, and console programs in Procs/console. Tests for CI integration can be written in Tests. All declared tests are called during compilation in the test-executing executable execTests. This can also be called via the executable launchWrapTests, which simply keeps the console open until user input is received.

Dependencies

Msys Mingw64 (install via pacman):

  • GCC, CMake, Make
  • GMP, (Angle)
  • imagemagick

MSVC (systemwide installation + prebuild binaries in thirdParty):

  • VS Build Tools
  • CMake, Make
  • (Angle)

Mingw Automation

The utils.mingw64.mk file also automates several processes within the MSYS Mingw64 subsystem

Make TargetFunction
iconConverts Recc/Compilation/icon.png to Recc/Compilation/icon.ico
configDocsGenerates a Doxyfile and substitutes project defaults
clearDocsdeletes Doxyfile
buildDocsbuilds Doxygen documentation (HTML and LaTeX)
displayDocsdisplays the page stored under /docs (displays Doxygen HTML documentation by default)
packagesorts the relevant binary files into the __build directory and compresses them
exportPackageBuilds the debug and release versions and packages them using the package target

You can also view the available targets at any time by typing make followed by Space, Tab, and Tab.

Releases

For binary releases, the licenses of the libraries used must be checked. GMP, for example, requires that the GMP source code and a relink-gmp.txt file be included when statically linking in binary releases. Additionally, all libraries used should be listed in the README and provided via a Thirdparty-Licenses.md file or a folder containing the corresponding licenses.

Used Libraries

The CMake project sets up the open-source libraries on its own; the Steam SDK must be downloaded as a pre-built version directly from Valve. The complete license texts, as well as the GMP source code and GMP relink instructions, can be found in thirdPartyLicenses

LibraryLicenseLink
SDL3zliblibsdl-org/SDL
raylibzlibraysan5/raylib
r3dZLib licensebigfoot71/r3d
Dear ImGuiMITocornut/imgui
ImPlotMITepezent/implot
imgui-filebrowserMITAirGuanZ/imgui-filebrowser
rlImGuizlibraylib-extras/rlImGui
FastNoise2MITAuburn/FastNoise2
delaunator-cppISCdelfrrr/delaunator-cpp
fast-wfcMITmath-fehr/fast-wfc
AlberichMITtr3dh/Alberich
pybind11BSD-2pybind/pybind11
nlohmann/jsonMITnlohmann/json
magic_enumMITmagic_enum
pfr / magic_getBoost Software License 1.0Boost.PFR
ByteSequenceMITtr3dh/ByteSequence
lsp-frameworkMITlsp-framework
enttMITskypjack/entt
spdlogMITgabime/spdlog
enetMITlsalzman/enet
JoltPhysicsMITjrouwe/JoltPhysics
GMPLGPLv3gmplib/gmp
SymEngineMITsymengine/symengine
Eigen3MPL2PX4/eigen
komputeApache-2.0KomputeProject/kompute
ANGLEBSD-3mmozeiko/build-angle
Steam SDKSteam Subscriber AgreementValveSoftware/steamworks-api
SQLiteCppMITSRombauts/SQLiteCpp
googletestBSD-3-Clausegoogle/googletest
cs_libguardedBSD-2-Clausecopperspice/cs_libguarded
LLVMApache-2.0llvm/llvm-project
rbfxMITrbfx/rbfx
JuliaMITJuliaLang/julia
FlecsMITSanderMertens/flecs
petsccustompetsc/petsc
mfemBSD-3-Clausemfem/mfem

Used Assets

AssetLicenseLink
Stag GLTFCC0quaternius/Stag.gltf

Used Tools

ToolLicenseLink
doxygenGPL-2.0doxygen/doxygen

About

template project wich setups a C++ devstack via CMake

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

C++ Devstack CMake Starter

Project Brief

This project is a CMake template that can be used to set up a DevStack consisting primarily of open-source libraries. The project also sets up a test environment that can be used for CI integration. In addition, the project implements Doxygen automation.

Usage

The project is primarily designed for use with the MSYS Mingw64 subsystem. It can also be used with MSVC. However, the Mingw subsystem offers a higher degree of automation. Processes such as Doxygen automation, automated icon conversion, release-ready packaging, and GMP provision may need to be performed manually for MSVC or automated independently via a utils.win.mk file. The project should also be easily portable to other platforms and compilers.

Automated Compilation

The packaging of CMake calls within this project is handled via several compiler- and shell-specific Make targets. Depending on whether make is called in a Windows shell or a Mingw shell, different shell- and compiler-specific targets are loaded and made available. Compilation can be performed using the build (Debug) and rbuild (Release) targets. Compilation followed by execution of a configured target is initiated via launch (Debug) and rlaunch (Release). Using build-angle (specify via Make flags), you can also generate builds with Angle as the rendering backend for Raylib.

Project Structure

The project allows you to build multiple executables simultaneously. Shared source code can be declared in src and is automatically linked during the build into a static library, which is then linked for each executable. The .cpp files intended to run as native Windows programs (no console in the release) are placed in Procs/native, and console programs in Procs/console. Tests for CI integration can be written in Tests. All declared tests are called during compilation in the test-executing executable execTests. This can also be called via the executable launchWrapTests, which simply keeps the console open until user input is received.

Dependencies

Msys Mingw64 (install via pacman):

  • GCC, CMake, Make
  • GMP, (Angle)
  • imagemagick

MSVC (systemwide installation + prebuild binaries in thirdParty):

  • VS Build Tools
  • CMake, Make
  • (Angle)

Mingw Automation

The utils.mingw64.mk file also automates several processes within the MSYS Mingw64 subsystem

Make TargetFunction
iconConverts Recc/Compilation/icon.png to Recc/Compilation/icon.ico
configDocsGenerates a Doxyfile and substitutes project defaults
clearDocsdeletes Doxyfile
buildDocsbuilds Doxygen documentation (HTML and LaTeX)
displayDocsdisplays the page stored under /docs (displays Doxygen HTML documentation by default)
packagesorts the relevant binary files into the __build directory and compresses them
exportPackageBuilds the debug and release versions and packages them using the package target

You can also view the available targets at any time by typing make followed by Space, Tab, and Tab.

Releases

For binary releases, the licenses of the libraries used must be checked. GMP, for example, requires that the GMP source code and a relink-gmp.txt file be included when statically linking in binary releases. Additionally, all libraries used should be listed in the README and provided via a Thirdparty-Licenses.md file or a folder containing the corresponding licenses.

Used Libraries

The CMake project sets up the open-source libraries on its own; the Steam SDK must be downloaded as a pre-built version directly from Valve. The complete license texts, as well as the GMP source code and GMP relink instructions, can be found in thirdPartyLicenses

LibraryLicenseLink
SDL3zliblibsdl-org/SDL
raylibzlibraysan5/raylib
r3dZLib licensebigfoot71/r3d
Dear ImGuiMITocornut/imgui
ImPlotMITepezent/implot
imgui-filebrowserMITAirGuanZ/imgui-filebrowser
rlImGuizlibraylib-extras/rlImGui
FastNoise2MITAuburn/FastNoise2
delaunator-cppISCdelfrrr/delaunator-cpp
fast-wfcMITmath-fehr/fast-wfc
AlberichMITtr3dh/Alberich
pybind11BSD-2pybind/pybind11
nlohmann/jsonMITnlohmann/json
magic_enumMITmagic_enum
pfr / magic_getBoost Software License 1.0Boost.PFR
ByteSequenceMITtr3dh/ByteSequence
lsp-frameworkMITlsp-framework
enttMITskypjack/entt
spdlogMITgabime/spdlog
enetMITlsalzman/enet
JoltPhysicsMITjrouwe/JoltPhysics
GMPLGPLv3gmplib/gmp
SymEngineMITsymengine/symengine
Eigen3MPL2PX4/eigen
komputeApache-2.0KomputeProject/kompute
ANGLEBSD-3mmozeiko/build-angle
Steam SDKSteam Subscriber AgreementValveSoftware/steamworks-api
SQLiteCppMITSRombauts/SQLiteCpp
googletestBSD-3-Clausegoogle/googletest
cs_libguardedBSD-2-Clausecopperspice/cs_libguarded
LLVMApache-2.0llvm/llvm-project
rbfxMITrbfx/rbfx
JuliaMITJuliaLang/julia
FlecsMITSanderMertens/flecs
petsccustompetsc/petsc
mfemBSD-3-Clausemfem/mfem

Used Assets

AssetLicenseLink
Stag GLTFCC0quaternius/Stag.gltf

Used Tools

ToolLicenseLink
doxygenGPL-2.0doxygen/doxygen

About

template project wich setups a C++ devstack via CMake

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

C++ Devstack CMake Starter

Project Brief

This project is a CMake template that can be used to set up a DevStack consisting primarily of open-source libraries. The project also sets up a test environment that can be used for CI integration. In addition, the project implements Doxygen automation.

Usage

The project is primarily designed for use with the MSYS Mingw64 subsystem. It can also be used with MSVC. However, the Mingw subsystem offers a higher degree of automation. Processes such as Doxygen automation, automated icon conversion, release-ready packaging, and GMP provision may need to be performed manually for MSVC or automated independently via a utils.win.mk file. The project should also be easily portable to other platforms and compilers.

Automated Compilation

The packaging of CMake calls within this project is handled via several compiler- and shell-specific Make targets. Depending on whether make is called in a Windows shell or a Mingw shell, different shell- and compiler-specific targets are loaded and made available. Compilation can be performed using the build (Debug) and rbuild (Release) targets. Compilation followed by execution of a configured target is initiated via launch (Debug) and rlaunch (Release). Using build-angle (specify via Make flags), you can also generate builds with Angle as the rendering backend for Raylib.

Project Structure

The project allows you to build multiple executables simultaneously. Shared source code can be declared in src and is automatically linked during the build into a static library, which is then linked for each executable. The .cpp files intended to run as native Windows programs (no console in the release) are placed in Procs/native, and console programs in Procs/console. Tests for CI integration can be written in Tests. All declared tests are called during compilation in the test-executing executable execTests. This can also be called via the executable launchWrapTests, which simply keeps the console open until user input is received.

Dependencies

Msys Mingw64 (install via pacman):

  • GCC, CMake, Make
  • GMP, (Angle)
  • imagemagick

MSVC (systemwide installation + prebuild binaries in thirdParty):

  • VS Build Tools
  • CMake, Make
  • (Angle)

Mingw Automation

The utils.mingw64.mk file also automates several processes within the MSYS Mingw64 subsystem

Make TargetFunction
iconConverts Recc/Compilation/icon.png to Recc/Compilation/icon.ico
configDocsGenerates a Doxyfile and substitutes project defaults
clearDocsdeletes Doxyfile
buildDocsbuilds Doxygen documentation (HTML and LaTeX)
displayDocsdisplays the page stored under /docs (displays Doxygen HTML documentation by default)
packagesorts the relevant binary files into the __build directory and compresses them
exportPackageBuilds the debug and release versions and packages them using the package target

You can also view the available targets at any time by typing make followed by Space, Tab, and Tab.

Releases

For binary releases, the licenses of the libraries used must be checked. GMP, for example, requires that the GMP source code and a relink-gmp.txt file be included when statically linking in binary releases. Additionally, all libraries used should be listed in the README and provided via a Thirdparty-Licenses.md file or a folder containing the corresponding licenses.

Used Libraries

The CMake project sets up the open-source libraries on its own; the Steam SDK must be downloaded as a pre-built version directly from Valve. The complete license texts, as well as the GMP source code and GMP relink instructions, can be found in thirdPartyLicenses

LibraryLicenseLink
SDL3zliblibsdl-org/SDL
raylibzlibraysan5/raylib
r3dZLib licensebigfoot71/r3d
Dear ImGuiMITocornut/imgui
ImPlotMITepezent/implot
imgui-filebrowserMITAirGuanZ/imgui-filebrowser
rlImGuizlibraylib-extras/rlImGui
FastNoise2MITAuburn/FastNoise2
delaunator-cppISCdelfrrr/delaunator-cpp
fast-wfcMITmath-fehr/fast-wfc
AlberichMITtr3dh/Alberich
pybind11BSD-2pybind/pybind11
nlohmann/jsonMITnlohmann/json
magic_enumMITmagic_enum
pfr / magic_getBoost Software License 1.0Boost.PFR
ByteSequenceMITtr3dh/ByteSequence
lsp-frameworkMITlsp-framework
enttMITskypjack/entt
spdlogMITgabime/spdlog
enetMITlsalzman/enet
JoltPhysicsMITjrouwe/JoltPhysics
GMPLGPLv3gmplib/gmp
SymEngineMITsymengine/symengine
Eigen3MPL2PX4/eigen
komputeApache-2.0KomputeProject/kompute
ANGLEBSD-3mmozeiko/build-angle
Steam SDKSteam Subscriber AgreementValveSoftware/steamworks-api
SQLiteCppMITSRombauts/SQLiteCpp
googletestBSD-3-Clausegoogle/googletest
cs_libguardedBSD-2-Clausecopperspice/cs_libguarded
LLVMApache-2.0llvm/llvm-project
rbfxMITrbfx/rbfx
JuliaMITJuliaLang/julia
FlecsMITSanderMertens/flecs
petsccustompetsc/petsc
mfemBSD-3-Clausemfem/mfem

Used Assets

AssetLicenseLink
Stag GLTFCC0quaternius/Stag.gltf

Used Tools

ToolLicenseLink
doxygenGPL-2.0doxygen/doxygen

About

template project wich setups a C++ devstack via CMake

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

C++ Devstack CMake Starter

Project Brief

This project is a CMake template that can be used to set up a DevStack consisting primarily of open-source libraries. The project also sets up a test environment that can be used for CI integration. In addition, the project implements Doxygen automation.

Usage

The project is primarily designed for use with the MSYS Mingw64 subsystem. It can also be used with MSVC. However, the Mingw subsystem offers a higher degree of automation. Processes such as Doxygen automation, automated icon conversion, release-ready packaging, and GMP provision may need to be performed manually for MSVC or automated independently via a utils.win.mk file. The project should also be easily portable to other platforms and compilers.

Automated Compilation

The packaging of CMake calls within this project is handled via several compiler- and shell-specific Make targets. Depending on whether make is called in a Windows shell or a Mingw shell, different shell- and compiler-specific targets are loaded and made available. Compilation can be performed using the build (Debug) and rbuild (Release) targets. Compilation followed by execution of a configured target is initiated via launch (Debug) and rlaunch (Release). Using build-angle (specify via Make flags), you can also generate builds with Angle as the rendering backend for Raylib.

Project Structure

The project allows you to build multiple executables simultaneously. Shared source code can be declared in src and is automatically linked during the build into a static library, which is then linked for each executable. The .cpp files intended to run as native Windows programs (no console in the release) are placed in Procs/native, and console programs in Procs/console. Tests for CI integration can be written in Tests. All declared tests are called during compilation in the test-executing executable execTests. This can also be called via the executable launchWrapTests, which simply keeps the console open until user input is received.

Dependencies

Msys Mingw64 (install via pacman):

  • GCC, CMake, Make
  • GMP, (Angle)
  • imagemagick

MSVC (systemwide installation + prebuild binaries in thirdParty):

  • VS Build Tools
  • CMake, Make
  • (Angle)

Mingw Automation

The utils.mingw64.mk file also automates several processes within the MSYS Mingw64 subsystem

Make TargetFunction
iconConverts Recc/Compilation/icon.png to Recc/Compilation/icon.ico
configDocsGenerates a Doxyfile and substitutes project defaults
clearDocsdeletes Doxyfile
buildDocsbuilds Doxygen documentation (HTML and LaTeX)
displayDocsdisplays the page stored under /docs (displays Doxygen HTML documentation by default)
packagesorts the relevant binary files into the __build directory and compresses them
exportPackageBuilds the debug and release versions and packages them using the package target

You can also view the available targets at any time by typing make followed by Space, Tab, and Tab.

Releases

For binary releases, the licenses of the libraries used must be checked. GMP, for example, requires that the GMP source code and a relink-gmp.txt file be included when statically linking in binary releases. Additionally, all libraries used should be listed in the README and provided via a Thirdparty-Licenses.md file or a folder containing the corresponding licenses.

Used Libraries

The CMake project sets up the open-source libraries on its own; the Steam SDK must be downloaded as a pre-built version directly from Valve. The complete license texts, as well as the GMP source code and GMP relink instructions, can be found in thirdPartyLicenses

LibraryLicenseLink
SDL3zliblibsdl-org/SDL
raylibzlibraysan5/raylib
r3dZLib licensebigfoot71/r3d
Dear ImGuiMITocornut/imgui
ImPlotMITepezent/implot
imgui-filebrowserMITAirGuanZ/imgui-filebrowser
rlImGuizlibraylib-extras/rlImGui
FastNoise2MITAuburn/FastNoise2
delaunator-cppISCdelfrrr/delaunator-cpp
fast-wfcMITmath-fehr/fast-wfc
AlberichMITtr3dh/Alberich
pybind11BSD-2pybind/pybind11
nlohmann/jsonMITnlohmann/json
magic_enumMITmagic_enum
pfr / magic_getBoost Software License 1.0Boost.PFR
ByteSequenceMITtr3dh/ByteSequence
lsp-frameworkMITlsp-framework
enttMITskypjack/entt
spdlogMITgabime/spdlog
enetMITlsalzman/enet
JoltPhysicsMITjrouwe/JoltPhysics
GMPLGPLv3gmplib/gmp
SymEngineMITsymengine/symengine
Eigen3MPL2PX4/eigen
komputeApache-2.0KomputeProject/kompute
ANGLEBSD-3mmozeiko/build-angle
Steam SDKSteam Subscriber AgreementValveSoftware/steamworks-api
SQLiteCppMITSRombauts/SQLiteCpp
googletestBSD-3-Clausegoogle/googletest
cs_libguardedBSD-2-Clausecopperspice/cs_libguarded
LLVMApache-2.0llvm/llvm-project
rbfxMITrbfx/rbfx
JuliaMITJuliaLang/julia
FlecsMITSanderMertens/flecs
petsccustompetsc/petsc
mfemBSD-3-Clausemfem/mfem

Used Assets

AssetLicenseLink
Stag GLTFCC0quaternius/Stag.gltf

Used Tools

ToolLicenseLink
doxygenGPL-2.0doxygen/doxygen

About

template project wich setups a C++ devstack via CMake

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

C++ Devstack CMake Starter

Project Brief

This project is a CMake template that can be used to set up a DevStack consisting primarily of open-source libraries. The project also sets up a test environment that can be used for CI integration. In addition, the project implements Doxygen automation.

Usage

The project is primarily designed for use with the MSYS Mingw64 subsystem. It can also be used with MSVC. However, the Mingw subsystem offers a higher degree of automation. Processes such as Doxygen automation, automated icon conversion, release-ready packaging, and GMP provision may need to be performed manually for MSVC or automated independently via a utils.win.mk file. The project should also be easily portable to other platforms and compilers.

Automated Compilation

The packaging of CMake calls within this project is handled via several compiler- and shell-specific Make targets. Depending on whether make is called in a Windows shell or a Mingw shell, different shell- and compiler-specific targets are loaded and made available. Compilation can be performed using the build (Debug) and rbuild (Release) targets. Compilation followed by execution of a configured target is initiated via launch (Debug) and rlaunch (Release). Using build-angle (specify via Make flags), you can also generate builds with Angle as the rendering backend for Raylib.

Project Structure

The project allows you to build multiple executables simultaneously. Shared source code can be declared in src and is automatically linked during the build into a static library, which is then linked for each executable. The .cpp files intended to run as native Windows programs (no console in the release) are placed in Procs/native, and console programs in Procs/console. Tests for CI integration can be written in Tests. All declared tests are called during compilation in the test-executing executable execTests. This can also be called via the executable launchWrapTests, which simply keeps the console open until user input is received.

Dependencies

Msys Mingw64 (install via pacman):

  • GCC, CMake, Make
  • GMP, (Angle)
  • imagemagick

MSVC (systemwide installation + prebuild binaries in thirdParty):

  • VS Build Tools
  • CMake, Make
  • (Angle)

Mingw Automation

The utils.mingw64.mk file also automates several processes within the MSYS Mingw64 subsystem

Make TargetFunction
iconConverts Recc/Compilation/icon.png to Recc/Compilation/icon.ico
configDocsGenerates a Doxyfile and substitutes project defaults
clearDocsdeletes Doxyfile
buildDocsbuilds Doxygen documentation (HTML and LaTeX)
displayDocsdisplays the page stored under /docs (displays Doxygen HTML documentation by default)
packagesorts the relevant binary files into the __build directory and compresses them
exportPackageBuilds the debug and release versions and packages them using the package target

You can also view the available targets at any time by typing make followed by Space, Tab, and Tab.

Releases

For binary releases, the licenses of the libraries used must be checked. GMP, for example, requires that the GMP source code and a relink-gmp.txt file be included when statically linking in binary releases. Additionally, all libraries used should be listed in the README and provided via a Thirdparty-Licenses.md file or a folder containing the corresponding licenses.

Used Libraries

The CMake project sets up the open-source libraries on its own; the Steam SDK must be downloaded as a pre-built version directly from Valve. The complete license texts, as well as the GMP source code and GMP relink instructions, can be found in thirdPartyLicenses

LibraryLicenseLink
SDL3zliblibsdl-org/SDL
raylibzlibraysan5/raylib
r3dZLib licensebigfoot71/r3d
Dear ImGuiMITocornut/imgui
ImPlotMITepezent/implot
imgui-filebrowserMITAirGuanZ/imgui-filebrowser
rlImGuizlibraylib-extras/rlImGui
FastNoise2MITAuburn/FastNoise2
delaunator-cppISCdelfrrr/delaunator-cpp
fast-wfcMITmath-fehr/fast-wfc
AlberichMITtr3dh/Alberich
pybind11BSD-2pybind/pybind11
nlohmann/jsonMITnlohmann/json
magic_enumMITmagic_enum
pfr / magic_getBoost Software License 1.0Boost.PFR
ByteSequenceMITtr3dh/ByteSequence
lsp-frameworkMITlsp-framework
enttMITskypjack/entt
spdlogMITgabime/spdlog
enetMITlsalzman/enet
JoltPhysicsMITjrouwe/JoltPhysics
GMPLGPLv3gmplib/gmp
SymEngineMITsymengine/symengine
Eigen3MPL2PX4/eigen
komputeApache-2.0KomputeProject/kompute
ANGLEBSD-3mmozeiko/build-angle
Steam SDKSteam Subscriber AgreementValveSoftware/steamworks-api
SQLiteCppMITSRombauts/SQLiteCpp
googletestBSD-3-Clausegoogle/googletest
cs_libguardedBSD-2-Clausecopperspice/cs_libguarded
LLVMApache-2.0llvm/llvm-project
rbfxMITrbfx/rbfx
JuliaMITJuliaLang/julia
FlecsMITSanderMertens/flecs
petsccustompetsc/petsc
mfemBSD-3-Clausemfem/mfem

Used Assets

AssetLicenseLink
Stag GLTFCC0quaternius/Stag.gltf

Used Tools

ToolLicenseLink
doxygenGPL-2.0doxygen/doxygen

About

template project wich setups a C++ devstack via CMake

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

C++ Devstack CMake Starter

Project Brief

This project is a CMake template that can be used to set up a DevStack consisting primarily of open-source libraries. The project also sets up a test environment that can be used for CI integration. In addition, the project implements Doxygen automation.

Usage

The project is primarily designed for use with the MSYS Mingw64 subsystem. It can also be used with MSVC. However, the Mingw subsystem offers a higher degree of automation. Processes such as Doxygen automation, automated icon conversion, release-ready packaging, and GMP provision may need to be performed manually for MSVC or automated independently via a utils.win.mk file. The project should also be easily portable to other platforms and compilers.

Automated Compilation

The packaging of CMake calls within this project is handled via several compiler- and shell-specific Make targets. Depending on whether make is called in a Windows shell or a Mingw shell, different shell- and compiler-specific targets are loaded and made available. Compilation can be performed using the build (Debug) and rbuild (Release) targets. Compilation followed by execution of a configured target is initiated via launch (Debug) and rlaunch (Release). Using build-angle (specify via Make flags), you can also generate builds with Angle as the rendering backend for Raylib.

Project Structure

The project allows you to build multiple executables simultaneously. Shared source code can be declared in src and is automatically linked during the build into a static library, which is then linked for each executable. The .cpp files intended to run as native Windows programs (no console in the release) are placed in Procs/native, and console programs in Procs/console. Tests for CI integration can be written in Tests. All declared tests are called during compilation in the test-executing executable execTests. This can also be called via the executable launchWrapTests, which simply keeps the console open until user input is received.

Dependencies

Msys Mingw64 (install via pacman):

  • GCC, CMake, Make
  • GMP, (Angle)
  • imagemagick

MSVC (systemwide installation + prebuild binaries in thirdParty):

  • VS Build Tools
  • CMake, Make
  • (Angle)

Mingw Automation

The utils.mingw64.mk file also automates several processes within the MSYS Mingw64 subsystem

Make TargetFunction
iconConverts Recc/Compilation/icon.png to Recc/Compilation/icon.ico
configDocsGenerates a Doxyfile and substitutes project defaults
clearDocsdeletes Doxyfile
buildDocsbuilds Doxygen documentation (HTML and LaTeX)
displayDocsdisplays the page stored under /docs (displays Doxygen HTML documentation by default)
packagesorts the relevant binary files into the __build directory and compresses them
exportPackageBuilds the debug and release versions and packages them using the package target

You can also view the available targets at any time by typing make followed by Space, Tab, and Tab.

Releases

For binary releases, the licenses of the libraries used must be checked. GMP, for example, requires that the GMP source code and a relink-gmp.txt file be included when statically linking in binary releases. Additionally, all libraries used should be listed in the README and provided via a Thirdparty-Licenses.md file or a folder containing the corresponding licenses.

Used Libraries

The CMake project sets up the open-source libraries on its own; the Steam SDK must be downloaded as a pre-built version directly from Valve. The complete license texts, as well as the GMP source code and GMP relink instructions, can be found in thirdPartyLicenses

LibraryLicenseLink
SDL3zliblibsdl-org/SDL
raylibzlibraysan5/raylib
r3dZLib licensebigfoot71/r3d
Dear ImGuiMITocornut/imgui
ImPlotMITepezent/implot
imgui-filebrowserMITAirGuanZ/imgui-filebrowser
rlImGuizlibraylib-extras/rlImGui
FastNoise2MITAuburn/FastNoise2
delaunator-cppISCdelfrrr/delaunator-cpp
fast-wfcMITmath-fehr/fast-wfc
AlberichMITtr3dh/Alberich
pybind11BSD-2pybind/pybind11
nlohmann/jsonMITnlohmann/json
magic_enumMITmagic_enum
pfr / magic_getBoost Software License 1.0Boost.PFR
ByteSequenceMITtr3dh/ByteSequence
lsp-frameworkMITlsp-framework
enttMITskypjack/entt
spdlogMITgabime/spdlog
enetMITlsalzman/enet
JoltPhysicsMITjrouwe/JoltPhysics
GMPLGPLv3gmplib/gmp
SymEngineMITsymengine/symengine
Eigen3MPL2PX4/eigen
komputeApache-2.0KomputeProject/kompute
ANGLEBSD-3mmozeiko/build-angle
Steam SDKSteam Subscriber AgreementValveSoftware/steamworks-api
SQLiteCppMITSRombauts/SQLiteCpp
googletestBSD-3-Clausegoogle/googletest
cs_libguardedBSD-2-Clausecopperspice/cs_libguarded
LLVMApache-2.0llvm/llvm-project
rbfxMITrbfx/rbfx
JuliaMITJuliaLang/julia
FlecsMITSanderMertens/flecs
petsccustompetsc/petsc
mfemBSD-3-Clausemfem/mfem

Used Assets

AssetLicenseLink
Stag GLTFCC0quaternius/Stag.gltf

Used Tools

ToolLicenseLink
doxygenGPL-2.0doxygen/doxygen

About

template project wich setups a C++ devstack via CMake

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

C++ Devstack CMake Starter

Project Brief

This project is a CMake template that can be used to set up a DevStack consisting primarily of open-source libraries. The project also sets up a test environment that can be used for CI integration. In addition, the project implements Doxygen automation.

Usage

The project is primarily designed for use with the MSYS Mingw64 subsystem. It can also be used with MSVC. However, the Mingw subsystem offers a higher degree of automation. Processes such as Doxygen automation, automated icon conversion, release-ready packaging, and GMP provision may need to be performed manually for MSVC or automated independently via a utils.win.mk file. The project should also be easily portable to other platforms and compilers.

Automated Compilation

The packaging of CMake calls within this project is handled via several compiler- and shell-specific Make targets. Depending on whether make is called in a Windows shell or a Mingw shell, different shell- and compiler-specific targets are loaded and made available. Compilation can be performed using the build (Debug) and rbuild (Release) targets. Compilation followed by execution of a configured target is initiated via launch (Debug) and rlaunch (Release). Using build-angle (specify via Make flags), you can also generate builds with Angle as the rendering backend for Raylib.

Project Structure

The project allows you to build multiple executables simultaneously. Shared source code can be declared in src and is automatically linked during the build into a static library, which is then linked for each executable. The .cpp files intended to run as native Windows programs (no console in the release) are placed in Procs/native, and console programs in Procs/console. Tests for CI integration can be written in Tests. All declared tests are called during compilation in the test-executing executable execTests. This can also be called via the executable launchWrapTests, which simply keeps the console open until user input is received.

Dependencies

Msys Mingw64 (install via pacman):

  • GCC, CMake, Make
  • GMP, (Angle)
  • imagemagick

MSVC (systemwide installation + prebuild binaries in thirdParty):

  • VS Build Tools
  • CMake, Make
  • (Angle)

Mingw Automation

The utils.mingw64.mk file also automates several processes within the MSYS Mingw64 subsystem

Make TargetFunction
iconConverts Recc/Compilation/icon.png to Recc/Compilation/icon.ico
configDocsGenerates a Doxyfile and substitutes project defaults
clearDocsdeletes Doxyfile
buildDocsbuilds Doxygen documentation (HTML and LaTeX)
displayDocsdisplays the page stored under /docs (displays Doxygen HTML documentation by default)
packagesorts the relevant binary files into the __build directory and compresses them
exportPackageBuilds the debug and release versions and packages them using the package target

You can also view the available targets at any time by typing make followed by Space, Tab, and Tab.

Releases

For binary releases, the licenses of the libraries used must be checked. GMP, for example, requires that the GMP source code and a relink-gmp.txt file be included when statically linking in binary releases. Additionally, all libraries used should be listed in the README and provided via a Thirdparty-Licenses.md file or a folder containing the corresponding licenses.

Used Libraries

The CMake project sets up the open-source libraries on its own; the Steam SDK must be downloaded as a pre-built version directly from Valve. The complete license texts, as well as the GMP source code and GMP relink instructions, can be found in thirdPartyLicenses

LibraryLicenseLink
SDL3zliblibsdl-org/SDL
raylibzlibraysan5/raylib
r3dZLib licensebigfoot71/r3d
Dear ImGuiMITocornut/imgui
ImPlotMITepezent/implot
imgui-filebrowserMITAirGuanZ/imgui-filebrowser
rlImGuizlibraylib-extras/rlImGui
FastNoise2MITAuburn/FastNoise2
delaunator-cppISCdelfrrr/delaunator-cpp
fast-wfcMITmath-fehr/fast-wfc
AlberichMITtr3dh/Alberich
pybind11BSD-2pybind/pybind11
nlohmann/jsonMITnlohmann/json
magic_enumMITmagic_enum
pfr / magic_getBoost Software License 1.0Boost.PFR
ByteSequenceMITtr3dh/ByteSequence
lsp-frameworkMITlsp-framework
enttMITskypjack/entt
spdlogMITgabime/spdlog
enetMITlsalzman/enet
JoltPhysicsMITjrouwe/JoltPhysics
GMPLGPLv3gmplib/gmp
SymEngineMITsymengine/symengine
Eigen3MPL2PX4/eigen
komputeApache-2.0KomputeProject/kompute
ANGLEBSD-3mmozeiko/build-angle
Steam SDKSteam Subscriber AgreementValveSoftware/steamworks-api
SQLiteCppMITSRombauts/SQLiteCpp
googletestBSD-3-Clausegoogle/googletest
cs_libguardedBSD-2-Clausecopperspice/cs_libguarded
LLVMApache-2.0llvm/llvm-project
rbfxMITrbfx/rbfx
JuliaMITJuliaLang/julia
FlecsMITSanderMertens/flecs
petsccustompetsc/petsc
mfemBSD-3-Clausemfem/mfem

Used Assets

AssetLicenseLink
Stag GLTFCC0quaternius/Stag.gltf

Used Tools

ToolLicenseLink
doxygenGPL-2.0doxygen/doxygen

About

template project wich setups a C++ devstack via CMake

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

C++ Devstack CMake Starter

Project Brief

This project is a CMake template that can be used to set up a DevStack consisting primarily of open-source libraries. The project also sets up a test environment that can be used for CI integration. In addition, the project implements Doxygen automation.

Usage

The project is primarily designed for use with the MSYS Mingw64 subsystem. It can also be used with MSVC. However, the Mingw subsystem offers a higher degree of automation. Processes such as Doxygen automation, automated icon conversion, release-ready packaging, and GMP provision may need to be performed manually for MSVC or automated independently via a utils.win.mk file. The project should also be easily portable to other platforms and compilers.

Automated Compilation

The packaging of CMake calls within this project is handled via several compiler- and shell-specific Make targets. Depending on whether make is called in a Windows shell or a Mingw shell, different shell- and compiler-specific targets are loaded and made available. Compilation can be performed using the build (Debug) and rbuild (Release) targets. Compilation followed by execution of a configured target is initiated via launch (Debug) and rlaunch (Release). Using build-angle (specify via Make flags), you can also generate builds with Angle as the rendering backend for Raylib.

Project Structure

The project allows you to build multiple executables simultaneously. Shared source code can be declared in src and is automatically linked during the build into a static library, which is then linked for each executable. The .cpp files intended to run as native Windows programs (no console in the release) are placed in Procs/native, and console programs in Procs/console. Tests for CI integration can be written in Tests. All declared tests are called during compilation in the test-executing executable execTests. This can also be called via the executable launchWrapTests, which simply keeps the console open until user input is received.

Dependencies

Msys Mingw64 (install via pacman):

  • GCC, CMake, Make
  • GMP, (Angle)
  • imagemagick

MSVC (systemwide installation + prebuild binaries in thirdParty):

  • VS Build Tools
  • CMake, Make
  • (Angle)

Mingw Automation

The utils.mingw64.mk file also automates several processes within the MSYS Mingw64 subsystem

Make TargetFunction
iconConverts Recc/Compilation/icon.png to Recc/Compilation/icon.ico
configDocsGenerates a Doxyfile and substitutes project defaults
clearDocsdeletes Doxyfile
buildDocsbuilds Doxygen documentation (HTML and LaTeX)
displayDocsdisplays the page stored under /docs (displays Doxygen HTML documentation by default)
packagesorts the relevant binary files into the __build directory and compresses them
exportPackageBuilds the debug and release versions and packages them using the package target

You can also view the available targets at any time by typing make followed by Space, Tab, and Tab.

Releases

For binary releases, the licenses of the libraries used must be checked. GMP, for example, requires that the GMP source code and a relink-gmp.txt file be included when statically linking in binary releases. Additionally, all libraries used should be listed in the README and provided via a Thirdparty-Licenses.md file or a folder containing the corresponding licenses.

Used Libraries

The CMake project sets up the open-source libraries on its own; the Steam SDK must be downloaded as a pre-built version directly from Valve. The complete license texts, as well as the GMP source code and GMP relink instructions, can be found in thirdPartyLicenses

LibraryLicenseLink
SDL3zliblibsdl-org/SDL
raylibzlibraysan5/raylib
r3dZLib licensebigfoot71/r3d
Dear ImGuiMITocornut/imgui
ImPlotMITepezent/implot
imgui-filebrowserMITAirGuanZ/imgui-filebrowser
rlImGuizlibraylib-extras/rlImGui
FastNoise2MITAuburn/FastNoise2
delaunator-cppISCdelfrrr/delaunator-cpp
fast-wfcMITmath-fehr/fast-wfc
AlberichMITtr3dh/Alberich
pybind11BSD-2pybind/pybind11
nlohmann/jsonMITnlohmann/json
magic_enumMITmagic_enum
pfr / magic_getBoost Software License 1.0Boost.PFR
ByteSequenceMITtr3dh/ByteSequence
lsp-frameworkMITlsp-framework
enttMITskypjack/entt
spdlogMITgabime/spdlog
enetMITlsalzman/enet
JoltPhysicsMITjrouwe/JoltPhysics
GMPLGPLv3gmplib/gmp
SymEngineMITsymengine/symengine
Eigen3MPL2PX4/eigen
komputeApache-2.0KomputeProject/kompute
ANGLEBSD-3mmozeiko/build-angle
Steam SDKSteam Subscriber AgreementValveSoftware/steamworks-api
SQLiteCppMITSRombauts/SQLiteCpp
googletestBSD-3-Clausegoogle/googletest
cs_libguardedBSD-2-Clausecopperspice/cs_libguarded
LLVMApache-2.0llvm/llvm-project
rbfxMITrbfx/rbfx
JuliaMITJuliaLang/julia
FlecsMITSanderMertens/flecs
petsccustompetsc/petsc
mfemBSD-3-Clausemfem/mfem

Used Assets

AssetLicenseLink
Stag GLTFCC0quaternius/Stag.gltf

Used Tools

ToolLicenseLink
doxygenGPL-2.0doxygen/doxygen

About

template project wich setups a C++ devstack via CMake

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Packages

Contributors

Languages