diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ea86d416c40090d42b98ce769edbb44459d235f9..0146fa27f5ef1a6b95c63c4374c39553f87c406a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -92,11 +92,17 @@ build_vcpkg: allow_failure: true # unit tests with gtest -test: +test-debug: tags: [ docker ] stage: test script: - - make test + - make test-debug + +test-release: + tags: [ docker ] + stage: test + script: + - make test-release trigger_prepare: # Calculate the branch name diff --git a/Makefile b/Makefile index a2d082df85f4792fe1baa5669602272d04800bae..47e9c565a7795943d43fe5b10e3c0f82f61e0ae2 100644 --- a/Makefile +++ b/Makefile @@ -49,6 +49,16 @@ help: @echo -e " conan-create - Create Conan binary package in the local conan\n"\ " repostory." @echo " conan - Install dependencies, then build and install package." + @echo " doc - Generate documentation." + @echo " conan-debug - Install dependencies and create Conan binary package in Debug mode." + @echo " conan-build - Build the Conan package." + @echo " conan-build-debug - Build the Conan package in Debug mode." + @echo " vcpkg-install - Install dependencies with Vcpkg." + @echo " vcpkg-build-release - Build the project with Vcpkg in Release mode." + @echo " test-debug - Install dependencies, build the project in Debug mode, and run the tests." + @echo " test-release - Install dependencies, build the project in Release mode, and run the tests." + @echo " clean - Remove build directory." + style: $(CLANG_FORMAT) -i --verbose \ @@ -92,14 +102,16 @@ conan-debug: conan-install-debug conan-create-debug conan-build: conan build . -s $(CONAN_SETTINGS) -s build_type=Release +.PHONY: conan-build conan-build-debug: conan build . -s $(CONAN_SETTINGS) -s build_type=Debug - +.PHONY: conan-build-debug vcpkg-install: ./vcpkg/bootstrap-vcpkg.sh -disableMetrics\ &&vcpkg/vcpkg install +.PHONY: vcpkg-install vcpkg-build-release: vcpkg-install mkdir -p build/build_tools\ @@ -107,12 +119,22 @@ vcpkg-build-release: vcpkg-install && cd build\ && cmake -S .. -B . -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-linux -DCMAKE_BUILD_TYPE=Release\ && cmake --build . +.PHONY: vcpkg-build-release -ctest: +ctest-debug: cd build/Debug && ctest +.PHONY: ctest-debug -test: conan-install-debug conan-build-debug ctest - +ctest-release: + cd build/Release && ctest +.PHONY: ctest-release +test-debug: conan-install-debug conan-build-debug ctest-debug +.PHONY: test-debug + +test-release: conan-install-deps conan-build ctest-release +.PHONY: test-release + clean: - rm -rf build \ No newline at end of file + rm -rf build +.PHONY: clean \ No newline at end of file