summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile21
1 files changed, 21 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..b26f8a3
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,21 @@
+
+NUM_CPU := $(shell python -c 'import multiprocessing; print(multiprocessing.cpu_count())')
+
+.PHONY: all
+all: build.ninja
+ ninja
+
+.PHONY: clang-tidy
+clang-tidy: compile_commands.json
+ ninja -t targets all | grep cxx | grep -v 3rdParty | sed -e's/\.o: cxx/.cpp/' | xargs -t -P ${NUM_CPU} -n 1 clang-tidy -warnings-as-errors=*
+
+.PHONY: clang-tidy-fix
+clang-tidy-fix: compile_commands.json
+ ninja -t targets all | grep cxx | grep -v 3rdParty | sed -e's/\.o: cxx/.cpp/' | xargs -t -P ${NUM_CPU} -n 1 -I{} clang-tidy -p=${PWD} -export-fixes={}.clang-tidy-changes.yaml {}
+ clang-apply-replacements -remove-change-desc-files ${PWD}
+
+compile_commands.json: build.ninja
+ ninja -t compdb cxx > compile_commands.json
+
+build.ninja:
+ ./BuildTools/scons2ninja.py check=1 build_examples=0