diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..48f9dfa --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,32 @@ +# Contributing + +Any contribution is more the welcomed. + +> **Tip:** If you are working from VS Code, you can [install the recommended extensions](https://dev.to/askrishnapravin/recommend-vs-code-extensions-to-your-future-teammates-4gkb) to quickly get setup. + +## Working Locally + +After forking and cloning your repo, You'll need to install a few dependencies + +```sh +sudo apt install libeigen3-dev libgtest-dev libgmock-dev +``` + +Or you can use your favorite system installed. +If you prefer C++ package managers, you can do + +- `vcpkg install eigen3 gtest` +- `conan install --requires="eigen/[>=3 <4]" --requires="gtest/[>=1 <2]" --generator=CMakeDeps --output-folder=build` + +### Building the library + +```sh +cmake -E make_directory build +cd build + +cmake .. +cmake --build . +ctest . +``` + +If you have any questions feel free to reach out on discord. diff --git a/.gitignore b/.gitignore index 87593cd..06a9912 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ lib/ # IDE-specific files .vscode/ +.vscode/!extensions.json # Allow to provide recommended extensions .idea/ # Ignore any personal or system-specific files diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..027ca1c --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,8 @@ +{ + "recommendations": [ + "ms-vscode.cpptools", + "ms-vscode.cpptools-extension-pack", + "ms-vscode.cmake-tools", + "twxs.cmake" + ] +} diff --git a/README.md b/README.md index 648296f..67dcf1c 100644 --- a/README.md +++ b/README.md @@ -91,24 +91,12 @@ I used Eigen::Map for performing all operations in place without making a single If you want to learn c++ or about automatic differentiation, feel free to contribute! There is a lot of work to do. +## To build the project -## To build the project: - -```sh -mkdir build -cd build -cmake .. -make -sudo make install -``` - -Eigen supports cmake, so if sombody wants to integrate that support in the CMakeLists.txt would be nice. - -Be sure Eigen is installed in your system. -Don't forget to add the path of the installed library when compiling, for example, if you want to compile example.cpp with g++: - -```g++ example.cpp -LCaberNet/lib -lCaberNet -I CaberNet/include``` +Please see the [contributing](.github/CONTRIBUTING.md#building-the-library) guide for more information. ## Acknowledgements + This project is being possible thanks to: + * @prince-chrismc.