diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1f9630c..b052d1d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,3 +13,6 @@ jobs: - name: Configure and build this project uses: threeal/cmake-action@v1.1.0 + with: + source-dir: example + build-dir: example/build diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4b68053..5321274 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,12 +14,15 @@ jobs: - name: Configure, build, and test this project uses: threeal/cmake-action@v1.1.0 with: + source-dir: example + build-dir: example/build args: -DBUILD_TESTING=ON run-test: true - name: Check code coverage uses: threeal/gcovr-action@v0.2.0 with: + root: example exclude: build/* fail-under-line: 80 @@ -32,6 +35,8 @@ jobs: - name: Configure and build this project uses: threeal/cmake-action@v1.1.0 with: + source-dir: example + build-dir: example/build cxx-flags: -Werror args: -DBUILD_TESTING=ON @@ -45,9 +50,9 @@ jobs: run: pip3 install cmake-format - name: Configure CMake - run: cmake . -B build + run: cmake example -B example/build - name: Check code formatting run: | - cmake --build build --target format - cmake --build build --target check-format + cmake --build example/build --target format + cmake --build example/build --target check-format diff --git a/.gitignore b/.gitignore index 378eac2..ee3c7e0 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,6 @@ +.* +!.clang* +!.cmake* +!.git* + build diff --git a/LICENSE b/LICENSE index 68a49da..c5ebe52 100644 --- a/LICENSE +++ b/LICENSE @@ -1,24 +1,21 @@ -This is free and unencumbered software released into the public domain. +MIT License -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. +Copyright (c) 2023 Alfi Maulana -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -For more information, please refer to +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 4ff4ff8..6b75613 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,12 @@ -# Minimal C++ Starter +# Overview -[![build status](https://img.shields.io/github/actions/workflow/status/threeal/minimal-cpp-starter/build.yml?branch=main)](https://github.com/threeal/minimal-cpp-starter/actions/workflows/build.yml) -[![test status](https://img.shields.io/github/actions/workflow/status/threeal/minimal-cpp-starter/test.yml?label=test&branch=main)](https://github.com/threeal/minimal-cpp-starter/actions/workflows/test.yml) +[![build status](https://img.shields.io/github/actions/workflow/status/threeal/cpp/build.yml?branch=main)](https://github.com/threeal/cpp/actions/workflows/build.yml) +[![test status](https://img.shields.io/github/actions/workflow/status/threeal/cpp/test.yml?label=test&branch=main)](https://github.com/threeal/cpp/actions/workflows/test.yml) -A minimal C++ template to kickstart your project. +A comprehensive collection of [C++](https://isocpp.org/) utility packages. + +## License + +This project is licensed under the terms of the [MIT License](./LICENSE). + +Copyright © 2023 [Alfi Maulana](https://github.com/threeal) diff --git a/.clang-format b/example/.clang-format similarity index 100% rename from .clang-format rename to example/.clang-format diff --git a/.cmake-format b/example/.cmake-format similarity index 100% rename from .cmake-format rename to example/.cmake-format diff --git a/CMakeLists.txt b/example/CMakeLists.txt similarity index 100% rename from CMakeLists.txt rename to example/CMakeLists.txt diff --git a/example/LICENSE b/example/LICENSE new file mode 100644 index 0000000..68a49da --- /dev/null +++ b/example/LICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/example/README.md b/example/README.md new file mode 100644 index 0000000..c1f4159 --- /dev/null +++ b/example/README.md @@ -0,0 +1,6 @@ +# Example + +[![build status](https://img.shields.io/github/actions/workflow/status/threeal/cpp/build.yml?branch=main)](https://github.com/threeal/cpp/actions/workflows/build.yml) +[![test status](https://img.shields.io/github/actions/workflow/status/threeal/cpp/test.yml?label=test&branch=main)](https://github.com/threeal/cpp/actions/workflows/test.yml) + +An example C++ package. diff --git a/cmake/CPM.cmake b/example/cmake/CPM.cmake similarity index 100% rename from cmake/CPM.cmake rename to example/cmake/CPM.cmake diff --git a/include/example/example.hpp b/example/include/example/example.hpp similarity index 100% rename from include/example/example.hpp rename to example/include/example/example.hpp diff --git a/src/example.cpp b/example/src/example.cpp similarity index 100% rename from src/example.cpp rename to example/src/example.cpp diff --git a/test/example_test.cpp b/example/test/example_test.cpp similarity index 100% rename from test/example_test.cpp rename to example/test/example_test.cpp