I am preparing en system programming exercise with minimal linux/unix command imitations.
- gcc
- g++
- cmake
- clang-format
- cppcheck
- clang(optional)
- llvm(optional)
- Cmake based project management
clang-format
andcppcheck
- Basic cpack support
- Very little sources. It is easy to understand
-- CMakeLists.txt
-- LICENSE (mit licence)
-- README.md (explain general project)
+- documentation (documentation)
| -- documentation.md (collection of all project documentations in markdown format)
+- `cmake/` (cmake module to automate management)
| -- options.cmake (compiler and other tools options)
| -- cpack.cmake (packing settings and properties)
| -- cppcheck.cmake (cppcheck properties)
| -- dependencies.cmake (dependencies of project)
| -- format.cmake (formatting properties )
+- `projects/` (project folder contains all the projects)
| -- CMakeLists.txt
| +- ... (projects and documentation)
+- `build/` (build directory. It will be generated by cmake)
there is nothing for now.
cd /go/to/project/directory
mkdir Build
cd build
cmake -D<Cmake Options> .. # there is nothing for now.
cmake --build . --target format # format source code
cmake --build . # build it.
cmake --build . --target package # pack you compiled
Mustafa Selçuk Çağlar