[buildcore] Add ability to setup host specific build directories
This commit is contained in:
31
deps/buildcore/base.mk
vendored
31
deps/buildcore/base.mk
vendored
@ -36,8 +36,16 @@ SCRIPTS=${BUILDCORE_PATH}/scripts
|
||||
SETUP_BUILD=${PYTHON3} ${SCRIPTS}/setup-build.py
|
||||
PYBB=${PYTHON3} ${SCRIPTS}/pybb.py
|
||||
CMAKE_BUILD=${PYBB} cmake-build
|
||||
GET_ENV=${PYBB} getenv
|
||||
CTEST=${PYBB} ctest-all
|
||||
RM_RF=${PYBB} rm
|
||||
HOST=$(shell ${PYBB} hostname)
|
||||
BUILDCORE_HOST_SPECIFIC_BUILDPATH=$(shell ${GET_ENV} BUILDCORE_HOST_SPECIFIC_BUILDPATH)
|
||||
ifneq (${BUILDCORE_HOST_SPECIFIC_BUILDPATH},)
|
||||
BUILD_PATH=build/${HOST}
|
||||
else
|
||||
BUILD_PATH=build
|
||||
endif
|
||||
ifdef USE_VCPKG
|
||||
ifndef VCPKG_DIR_BASE
|
||||
VCPKG_DIR_BASE=.vcpkg
|
||||
@ -58,27 +66,28 @@ CURRENT_BUILD=$(HOST_ENV)-$(shell ${ENV_RUN} ${PYBB} cat .current_build)
|
||||
|
||||
.PHONY: build
|
||||
build:
|
||||
${ENV_RUN} ${CMAKE_BUILD} build
|
||||
${ENV_RUN} ${CMAKE_BUILD} ${BUILD_PATH}
|
||||
.PHONY: install
|
||||
install:
|
||||
${ENV_RUN} ${CMAKE_BUILD} build install
|
||||
${ENV_RUN} ${CMAKE_BUILD} ${BUILD_PATH} install
|
||||
.PHONY: clean
|
||||
clean:
|
||||
${ENV_RUN} ${CMAKE_BUILD} build clean
|
||||
${ENV_RUN} ${CMAKE_BUILD} ${BUILD_PATH} clean
|
||||
.PHONY: purge
|
||||
purge:
|
||||
${ENV_RUN} ${RM_RF} .current_build
|
||||
${ENV_RUN} ${RM_RF} build
|
||||
${ENV_RUN} ${RM_RF} ${BUILD_PATH}
|
||||
${ENV_RUN} ${RM_RF} dist
|
||||
.PHONY: test
|
||||
test: build
|
||||
${ENV_RUN} ${CMAKE_BUILD} build test
|
||||
${ENV_RUN} mypy ${SCRIPTS}
|
||||
${ENV_RUN} ${CMAKE_BUILD} ${BUILD_PATH} test
|
||||
.PHONY: test-verbose
|
||||
test-verbose: build
|
||||
${ENV_RUN} ${CTEST} build --output-on-failure
|
||||
${ENV_RUN} ${CTEST} ${BUILD_PATH} --output-on-failure
|
||||
.PHONY: test-rerun-verbose
|
||||
test-rerun-verbose: build
|
||||
${ENV_RUN} ${CTEST} build --rerun-failed --output-on-failure
|
||||
${ENV_RUN} ${CTEST} ${BUILD_PATH} --rerun-failed --output-on-failure
|
||||
|
||||
.PHONY: devenv-image
|
||||
devenv-image:
|
||||
@ -148,17 +157,17 @@ endif # USE_VCPKG ###############################################
|
||||
|
||||
.PHONY: configure-xcode
|
||||
configure-xcode:
|
||||
${ENV_RUN} ${SETUP_BUILD} ${VCPKG_TOOLCHAIN} --build_tool=xcode --current_build=0
|
||||
${ENV_RUN} ${SETUP_BUILD} ${VCPKG_TOOLCHAIN} --build_tool=xcode --current_build=0 --build_root=${BUILD_PATH}
|
||||
|
||||
.PHONY: configure-release
|
||||
configure-release:
|
||||
${ENV_RUN} ${SETUP_BUILD} ${VCPKG_TOOLCHAIN} --build_type=release
|
||||
${ENV_RUN} ${SETUP_BUILD} ${VCPKG_TOOLCHAIN} --build_type=release --build_root=${BUILD_PATH}
|
||||
|
||||
.PHONY: configure-debug
|
||||
configure-debug:
|
||||
${ENV_RUN} ${SETUP_BUILD} ${VCPKG_TOOLCHAIN} --build_type=debug
|
||||
${ENV_RUN} ${SETUP_BUILD} ${VCPKG_TOOLCHAIN} --build_type=debug --build_root=${BUILD_PATH}
|
||||
|
||||
.PHONY: configure-asan
|
||||
configure-asan:
|
||||
${ENV_RUN} ${SETUP_BUILD} ${VCPKG_TOOLCHAIN} --build_type=asan
|
||||
${ENV_RUN} ${SETUP_BUILD} ${VCPKG_TOOLCHAIN} --build_type=asan --build_root=${BUILD_PATH}
|
||||
|
||||
|
Reference in New Issue
Block a user