add build and test instructions to readme
This commit is contained in:
@@ -13,7 +13,7 @@ include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
googletest
|
||||
GIT_REPOSITORY https://github.com/google/googletest.git
|
||||
GIT_TAG v1.17.x # Use a specific version tag or commit hash
|
||||
GIT_TAG v1.17.x
|
||||
)
|
||||
FetchContent_MakeAvailable(googletest)
|
||||
|
||||
@@ -39,9 +39,17 @@ target_include_directories(maiden_test PRIVATE
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src"
|
||||
)
|
||||
|
||||
target_compile_options(maiden_test PRIVATE --coverage)
|
||||
target_link_options(maiden_test PRIVATE --coverage)
|
||||
|
||||
# TODO: add option for disabling tests (like if target == DEBUG then tests on, otherwise tests off)
|
||||
target_link_libraries(maiden_test PRIVATE
|
||||
GTest::gmock
|
||||
GTest::gmock_main
|
||||
)
|
||||
|
||||
include(CTest)
|
||||
enable_testing() # ctest is whatever
|
||||
|
||||
include(GoogleTest)
|
||||
gtest_discover_tests(maiden_test)
|
||||
|
||||
42
README.md
42
README.md
@@ -8,10 +8,46 @@ The maiden project is a GPU accelerated 3D rendering engine built with C++ based
|
||||
|
||||
## Getting Started
|
||||
|
||||
### git instructions here
|
||||
### build instructions here
|
||||
### Clone Repository
|
||||
```bash
|
||||
$ git clone https://git.vxbard.net/homeburger/maiden.git
|
||||
|
||||
# If there's any necessary submodules then:
|
||||
$ git clone --recurse-submodules https://git.vxbard.net/homeburger/maiden.git
|
||||
|
||||
# If you have already cloned the repository and you need its submodules:
|
||||
$ git submodule update --init --recursive
|
||||
```
|
||||
### Build
|
||||
This app uses CMake and C++20, so a compatible compiler (gcc8, clang9, msvc16) are necessary.
|
||||
|
||||
Most library prerequisites are handled within CMake. Any others that need to be manually installed will be described below as the project grows.
|
||||
|
||||
To build the project (using default build directory "build"):
|
||||
```bash
|
||||
# configure
|
||||
$ cmake -S . -B build # + any extra options
|
||||
|
||||
# build
|
||||
$ cmake --build build -j
|
||||
|
||||
# execute
|
||||
$ cd build
|
||||
$ ./maiden
|
||||
```
|
||||
|
||||
### Testing
|
||||
This app uses GoogleTest for building unit tests. The below instructions use ctest and gcovr for test execution and code coverage:
|
||||
```bash
|
||||
# execute unit tests
|
||||
$ ctest -T Test # + filter options
|
||||
|
||||
# analyze code coverage
|
||||
$ cd build
|
||||
$ gcovr -r .. --filter "../src"
|
||||
```
|
||||
|
||||
### app troubleshooting here
|
||||
### testing instructions here
|
||||
|
||||
## Development Roadmap
|
||||
### lots of todo here
|
||||
|
||||
Reference in New Issue
Block a user