https://matgomes.com/integrate-google-test-into-cmake/
https://stackoverflow.com/questions/1398445/directory-structure-for-a-c-library
https://stackoverflow.com/questions/63916507/c-cmake-project-structure-for-lib-and-executable
https://cmake.org/cmake/help/book/mastering-cmake/chapter/Testing%20With%20CMake%20and%20CTest.html
https://matgomes.com/add-library-cmake-create-libraries/#google_vignette
cd build
cmake ..
make -j8
ctest
https://stackoverflow.com/questions/2649334/difference-between-static-and-shared-libraries