easy to use shell script using cmake to create c++ project
Create c++ project works on Linux. If something doesn’t work, please file an issue. If you have questions or need help, please ask
- Complie whatever you have written
- Import static libraries to your project
- Import shared libraries to your project
- Generate static, shared libraries and link it to your projects
- Add setup script for easy installation
- manage the project throgh npm scripts
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
you will need to install cmake, make, g++, you can install these tools from your package manager
- To check if a dependenciy installed
<toolName> --version
npx linux-create-cxx-project <appName>
cd <appName-workSpace>
npm start
npm run exe
- clone it
- run
cd linux-create-cxx-project sudo ./setup.sh cd && echo "export PATH=\$PATH:/usr/local/bin/linux-create-cxx-project" >> .bashrc
- navigate where you want to create the project and run:
create-cplusplus-project.sh <app-name>
enjoy coding 🚀
- Navigate to what dir you want
- run the script Ex:
npx linux-create-cxx-project <appName>
npm start
npm run exe
npm release
npm run exe
- Move header files to include dir
- Move xxx.a file to libs dir
- Move header files to include dir
- Move xxx.so file to libs dir
npm run create-lib <lib-name> <lib-type>
* lib types
- st >> static
- dy >> shared
- to build the library run
npm run build-lib <lib-name>
- to build the library and link it run
Note: everytime you make change to the library you need to build it again
npm run build-lib <lib-name> <app-name>
<appName-workSpace>
<lib1>
build/
include/
src/
./build.sh
<lib2>
.
.
<app-name>
build/
include/
libs/
src/
Main.cpp
.
.
scripts/
release.sh
start.sh
create-lib.sh
build-lib.sh
- Shell script - used to generate the project structure and sample code
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
This project is licensed under the MIT License - see the LICENSE.md file for details