MakefileWorkerOverrides.mk 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. # where the CppUTest includes and *.a are located
  2. # Uncomment the following values depending on which system
  3. # This is obviously better done using `ifeq` and checking the system type
  4. # Linux Values
  5. CPPUTEST_HOME ?= /usr
  6. TARGET_PLATFORM ?=
  7. # MacOS + Brew Values
  8. #CPPUTEST_HOME ?= /usr/local/Cellar/cpputest/3.8
  9. #TARGET_PLATFORM ?=
  10. LD_LIBRARIES = -L$(CPPUTEST_HOME)/$(TARGET_PLATFORM)lib -lCppUTest -lCppUTestExt
  11. LD_LIBRARIES += -lsfml-graphics -lsfml-window -lsfml-system
  12. TEST_SRC_FILES += \
  13. $(UNITTEST_SRC_DIR)/AllTests.cpp
  14. UNITTEST_EXTRA_INC_PATHS += \
  15. -I$(CPPUTEST_HOME)/include \
  16. -I$(UNITTEST_ROOT)/ \
  17. -I$(PROJECT_ROOT_DIR)/includes \
  18. -I/usr/include/opencv4/ -I/usr/share/gprolog/include/
  19. # Define `INSIDE_UNITTEST` so that our code can do things like `#if INSIDE_UNITTEST`
  20. CPPUTEST_CPPFLAGS += $(UNITTEST_EXTRA_INC_PATHS) \
  21. -DINSIDE_UNITTEST=1
  22. export SILENCE ?= @
  23. export CPPUTEST_USE_EXTENSIONS=Y
  24. export CPPUTEST_USE_MEM_LEAK_DETECTION=N
  25. export CPPUTEST_USE_GCOV=Y
  26. # Enable branch coverage reporting
  27. export GCOV_ARGS=-b -c
  28. # These clang warnings aren't particularly helpful
  29. CPPUTEST_WARNINGFLAGS = \
  30. -Wno-missing-braces \
  31. -Wno-missing-field-initializers \
  32. -Wno-packed \
  33. -Wno-switch-enum \
  34. -Wno-unused-parameter \
  35. -Wno-vla
  36. CC_VERSION_OUTPUT ="$(shell $(CXX) -v 2>&1)"
  37. CLANG_STR = clang
  38. ifeq ($(findstring $(CLANG_STR),$(CC_VERSION_OUTPUT)),$(CLANG_STR))
  39. COMPILER_SPECIFIC_WARNINGS += \
  40. -Wno-c++11-extensions \
  41. -Wno-c11-extensions \
  42. -Wno-c99-extensions \
  43. -Wno-covered-switch-default \
  44. -Wno-documentation \
  45. -Wno-documentation-unknown-command \
  46. -Wno-flexible-array-extensions \
  47. -Wno-gnu-variable-sized-type-not-at-end \
  48. -Wno-keyword-macro \
  49. -Wno-reserved-id-macro \
  50. -Wno-shorten-64-to-32 \
  51. -Wno-vla-extension
  52. endif
  53. CPPUTEST_WARNINGFLAGS += $(COMPILER_SPECIFIC_WARNINGS)
  54. CPPUTEST_WARNINGFLAGS += -Werror
  55. export CPPUTEST_WARNINGFLAGS
  56. UNITTEST_RESULT_DIR = $(UNITTEST_BUILD_DIR)/$(COMPONENT_NAME)
  57. export TEST_TARGET = $(UNITTEST_RESULT_DIR)/$(COMPONENT_NAME)_tests
  58. export CPPUTEST_OBJS_DIR = $(UNITTEST_RESULT_DIR)/objs
  59. export CPPUTEST_LIB_DIR = $(UNITTEST_RESULT_DIR)/lib
  60. # Enable color!
  61. export CPPUTEST_EXE_FLAGS = "-c"
  62. # run MakefileWorker.mk with the variables defined here
  63. include MakefileWorker.mk