diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml new file mode 100644 index 0000000..76f81c1 --- /dev/null +++ b/.github/workflows/check.yml @@ -0,0 +1,31 @@ +name: workflow CI + +on: + push: + branches: + - repoDesign + pull_request: + branches: + - main + +jobs: + build: + runs-on: ubuntu-22.04 + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install g++ libgtest-dev -y + + - name: Build project + run: make all + + - name: Build test + run: make test + + - name: Run tests + run: ./testGwint diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..97db4ca --- /dev/null +++ b/Makefile @@ -0,0 +1,59 @@ +PROJECT = Gwint + +TESTPROJECT = test$(PROJECT) + +CXX = g++ + +CXXFLAGS = -I. -std=c++17 -Werror -Wall -Wpedantic -g -fPIC + +TESTCXXFLAGS = $(CXXFLAGS) -lgtest -lgtest_main -lpthread + +DEPS = $(wildcard inlude/Gwint/*.h) + +SRC = $(wildcard src/*.cpp) +TEST_SRC = $(wildcard tests/*.cpp) + +OBJDIR = src/obj +TEST_OBJDIR = tests/obj + +OBJ = $(SRC:src/%.cpp=$(OBJDIR)/%.o) +TEST_OBJ = $(TEST_SRC:tests/%.cpp=$(TEST_OBJDIR)/%.o) + + +.PHONY: default + +default: all + +$(OBJDIR)/%.o: $(SRC) $(DEPS) | $(OBJDIR) + $(CXX) -c -o $@ $< $(CXXFLAGS) + +$(TEST_OBJDIR)/%.o: $(TEST_SRC) | $(TEST_OBJDIR) + $(CXX) -c -o $@ $< $(CXXFLAGS) + + +$(PROJECT): $(OBJ) + $(CXX) -o $@ $^ $(CXXFLAGS) + +$(TESTPROJECT): $(TEST_OBJ) + $(CXX) -o $@ $^ $(TESTCXXFLAGS) + + + +$(OBJDIR): + mkdir -p $(OBJDIR) +$(TEST_OBJDIR): + mkdir -p $(TEST_OBJDIR) + + + +.PHONY: test + +test: $(TESTPROJECT) + +all: $(PROJECT) + +clean: + rm -rf $(OBJDIR) + rm -rf $(TEST_OBJDIR) + rm -f $(PROJECT) + rm -f $(TESTPROJECT) diff --git a/README.md b/README.md index 2af3cf3..481ce16 100644 --- a/README.md +++ b/README.md @@ -1 +1,7 @@ -# LabWork2 \ No newline at end of file +# LabWork2 +## Author +Мызников Федор Денисович, группа 24.Б82-мм + + +## Contacts +st129282@student.spbu.ru diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..ab18ca3 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,7 @@ +//Myznikov Fedor Denisovich +//st129282@student.spbu.ru +//LabWork2 + + + +int main(int argc, char **argv) {} diff --git a/tests/tests.cpp b/tests/tests.cpp new file mode 100644 index 0000000..4647797 --- /dev/null +++ b/tests/tests.cpp @@ -0,0 +1,11 @@ +//Myznikov Fedor Denisovich +//st129282@student.spbu.ru +//LabWork2 + +#include + +int main(int argc, char** argv) +{ + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +}