This project mainly uses C++
, but it will also use other languages and even include some frontend
and client
content.
Mainly contains:
- 😉 Some messy code
pieces
. - 😃 Some fancy
demos
. - 🤔 Some useful
scripts
.shell
,python
,lua
or other utility scripts are placed here. - 🤩 Some structured and meaningful codes for
tutorial
. It is associated with the blog I wrote. It can be used directly anywhere. - 😏 Some codes are stored in
bench
for performance measurement. - 😛 Some universal
config
files. Includesyaml
,.zshrc
and other configuration files. - ✨ Some really nice code, we put it in
thirdparties
.
This repository contains several projects on independent directory. If you want to build one of them, just follow the tutorial below. If you want to use some projects on your own project, it is recommended to just copy files rather than reference this whole project.
Supported Platform: Most projects support on Linux platform while there still remains some projects only support MacOS.
Compiler: G++ and Clang++.
git clone --recursive https://github.com/emmett2020/emmett
cd the-project-directory-you-want-to-build
mkdir build && cd build
cmake -GNinja ..
ninja -j16 -v
- Create project in suitable directory.
- Copy CMakeLists.txt to the new project. Then Add source files to CMakeLists.txt.
- Add this new project into .clangd to enable LSP.
- Add a README.md to describe what this new project will do.
- Add pre-commit
- Add clang-tidy and repair clang-tidy warnings
- Provide a script file to fast cleanup the codebase. such as: remove all **/build/.
- Transfer TODOs in source code to Github issues.