surtur
bad86c31df
All checks were successful
continuous-integration/drone/push Build is passing
this means that all builds configured with cmake (not just those called with our custom development makefile) are properly linked with cryptopp
61 lines
1.7 KiB
Makefile
61 lines
1.7 KiB
Makefile
cppch = cppcheck
|
|
cppch_args = --language=c++ --std=c++20 --enable=all --verbose ./*.{cpp,h}
|
|
cpp_flags = CMAKE_CXX_FLAGS=
|
|
c = cmake
|
|
c_args = -G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=
|
|
n = ninja
|
|
n_args = -C
|
|
d_folder = cmake-build-debug
|
|
r_folder = cmake-build-release
|
|
t = clang-tidy
|
|
t_args = --config="" --format-style=google --checks="clang-diagnostic-*,clang-analyzer-*,google-*" --use-color=true -p $(d_folder) ./*.{cpp,h}
|
|
v = valgrind
|
|
v_env = VALGRIND=
|
|
v_db = $(d_folder)_valgr
|
|
v_rl = $(r_folder)_valgr
|
|
|
|
.PHONY: check tidy build debug release valgrind test clean
|
|
|
|
debug:
|
|
if [ ! -d "$(d_folder)" ]; then mkdir -pv $(d_folder); fi
|
|
$(v_env)false $(c) $(c_args)Debug -B $(d_folder) -D$(cpp_flags) && \
|
|
$(n) $(n_args) $(d_folder)
|
|
@echo fortuna \(debug\) has been built inside $(d_folder)
|
|
|
|
release:
|
|
if [ ! -d "$(r_folder)" ]; then mkdir -pv $(r_folder); fi
|
|
$(v_env)false $(c) $(c_args)Release -B $(r_folder) -D$(cpp_flags) && \
|
|
$(n) $(n_args) $(r_folder)
|
|
@echo fortuna \(release\) has been built inside $(r_folder)
|
|
|
|
check:
|
|
$(cppch) $(cppch_args)
|
|
make tidy
|
|
|
|
tidy:
|
|
$(t) $(t_args)
|
|
|
|
valgrind: valgrind-debug
|
|
|
|
valgrind-debug:
|
|
if [ ! -d "$(v_db)" ]; then mkdir -pv "$(v_db)"; fi
|
|
$(v_env)true $(c) $(c_args)Debug -B "$(v_db)" -D$(cpp_flags) && \
|
|
$(n) $(n_args) "$(v_db)"
|
|
$(v) ./$(v_db)/fortuna
|
|
@echo fortuna \(debug\) has been built and checked using valgrind
|
|
|
|
valgrind-release:
|
|
if [ ! -d "$(v_rl)" ]; then mkdir -pv "$(v_rl)"; fi
|
|
$(v_env)true $(c) $(c_args)Release -B "$(v_rl)" -D$(cpp_flags) && \
|
|
$(n) $(n_args) "$(v_rl)"
|
|
$(v) ./$(v_rl)/fortuna
|
|
@echo fortuna \(release\) has been built and checked using valgrind
|
|
|
|
build: debug
|
|
|
|
test: check build
|
|
|
|
clean:
|
|
find . -iwholename '*cmake*' -not -name CMakeLists.txt -delete
|
|
|