Configure -rpath to locate libcriterion

This commit is contained in:
Michael Vines 2018-11-26 21:00:08 -08:00
parent 2c529f2118
commit f0d24a68ee
1 changed files with 13 additions and 0 deletions

View File

@ -62,12 +62,23 @@ OBJ_DUMP_FLAGS := \
-source \
-disassemble \
TESTFRAMEWORK_RPATH := $(abspath $(LOCAL_PATH)criterion-v2.3.2/lib)
TESTFRAMEWORK_FLAGS := \
-DSOL_TEST \
-isystem $(LOCAL_PATH)criterion-v2.3.2/include \
-L $(LOCAL_PATH)criterion-v2.3.2/lib \
-rpath $(TESTFRAMEWORK_RPATH) \
-lcriterion \
# The "-rpath" in TESTFRAMEWORK_FLAGS doesn't work in macOS so rewrite the name
# post-link.
# TODO: Find a better way
MACOS_ADJUST_TEST_DYLIB := \
$(if $(filter $(OS),Darwin),\
$(_@)install_name_tool -change libcriterion.3.dylib $(TESTFRAMEWORK_RPATH)/libcriterion.3.dylib, \
: \
)
TEST_C_FLAGS := \
$(C_FLAGS) \
$(TESTFRAMEWORK_FLAGS) \
@ -143,11 +154,13 @@ $(OUT_DIR)/test_%: $(TEST_DIR)/%.c
@echo "[test cc] $@ ($<)"
$(_@)mkdir -p $(OUT_DIR)
$(_@)$(CC) $(TEST_C_FLAGS) -o $@ $< -MD -MF $(@:=.d)
$(_@)$(MACOS_ADJUST_TEST_DYLIB) $@
$(OUT_DIR)/test_%: $(TEST_DIR)/%.cc
@echo "[test cc] $@ ($<)"
$(_@)mkdir -p $(OUT_DIR)
$(_@)$(CXX) $(TEST_CXX_FLAGS) -o $@ $< -MD -MF $(@:=.d)
$(_@)$(MACOS_ADJUST_TEST_DYLIB) $@
-include $(wildcard $(OUT_DIR)/*.d)