Skip to content

This project aims to quickly launch a C/C++ project, which can build libraries and binary files. The project comes with basic modules such as thread pool, unit test, logger, and configuration reading module. It uses the CMake build system to make it easier for us to develop C/C++ projects.

Notifications You must be signed in to change notification settings

yicm/CMakeCppProjectTemplate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English | 简体中文

CMakeCppProjectTemplate

A CMake C++ Project Template, letting you quickly start developing a C/C++ project. Implementation details can refer to my blog post.

Features

  • Project structure is very clear.
  • With it, you can quickly start building an SDK project.
  • With it, you can quickly start building an application project.
  • Easy to debug and or release your software.
  • Friendly logger.
  • Supports cross compilation.
  • Quick and easy reference to third-party projects, including source and library dependencies.
  • Google c++ style.

Prerequisites

  • CMake 3.1+ installed.
  • Use a C++11 compiler(C++11 is optional).

Build & Install

$ mkdir build
$ cd build
$ cmake ..
$ make -j
$ make install DESTDIR={your destination}

Cross-compiling & Install

$ mkdir build
$ cd build
# cmake .. -DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm.himix200.cmake
$ cmake .. -DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm.himix200.cmake -DTOOLCHAIN_ROOTDIR={your toolchain directory}/arm-himix200-linux
$ make -j
$ make install DESTDIR={your destination}

TODO

  • Support unit test
  • Support valgrind tool
  • Support threadpool
  • Support static code checker
  • ...

License

MIT

Copyright (c) 2020-present, Yiming(Ethan)

About

This project aims to quickly launch a C/C++ project, which can build libraries and binary files. The project comes with basic modules such as thread pool, unit test, logger, and configuration reading module. It uses the CMake build system to make it easier for us to develop C/C++ projects.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published