Tweak build targets
This commit is contained in:
parent
3b775c5a49
commit
8e402852b4
5 changed files with 75 additions and 47 deletions
6
.github/workflows/unit_tests.yml
vendored
6
.github/workflows/unit_tests.yml
vendored
|
@ -41,7 +41,7 @@ jobs:
|
|||
|
||||
- name: Build Tests
|
||||
id: build
|
||||
run: ci/build.sh
|
||||
run: ci/build-tests.sh
|
||||
|
||||
- name: Save Build Cache
|
||||
# Only save build cache from develop to avoid polluting it by other branches / PRs
|
||||
|
@ -105,7 +105,7 @@ jobs:
|
|||
|
||||
- name: Build Tests
|
||||
id: build
|
||||
run: ci/build.sh
|
||||
run: ci/build-tests.sh
|
||||
|
||||
- name: Save Build Cache
|
||||
# Only save build cache from develop to avoid polluting it by other branches / PRs
|
||||
|
@ -170,7 +170,7 @@ jobs:
|
|||
|
||||
- name: Build Tests
|
||||
id: build
|
||||
run: ci/build.sh
|
||||
run: ci/build-tests.sh
|
||||
shell: bash
|
||||
|
||||
- name: Save Build Cache
|
||||
|
|
|
@ -656,6 +656,12 @@ add_subdirectory(nano/nano_node)
|
|||
add_subdirectory(nano/rpc)
|
||||
add_subdirectory(nano/nano_rpc)
|
||||
|
||||
add_custom_target(
|
||||
executables
|
||||
COMMAND echo "BATCH BUILDING node + rpc"
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
DEPENDS nano_node nano_rpc)
|
||||
|
||||
if(NANO_FUZZER_TEST)
|
||||
if(NOT WIN32)
|
||||
add_subdirectory(nano/fuzzer_test)
|
||||
|
@ -694,15 +700,10 @@ if(NANO_TEST OR RAIBLOCKS_TEST)
|
|||
add_subdirectory(nano/rpc_test)
|
||||
add_subdirectory(nano/slow_test)
|
||||
add_custom_target(
|
||||
build_tests
|
||||
all_tests
|
||||
COMMAND echo "BATCH BUILDING TESTS"
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
DEPENDS core_test load_test rpc_test nano_node nano_rpc)
|
||||
add_custom_target(
|
||||
run_tests
|
||||
COMMAND ${PROJECT_SOURCE_DIR}/ci/test.sh ${CMAKE_BINARY_DIR}
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
DEPENDS build_tests)
|
||||
DEPENDS core_test load_test rpc_test slow_test nano_node nano_rpc)
|
||||
endif()
|
||||
|
||||
if(NANO_TEST OR RAIBLOCKS_TEST)
|
||||
|
@ -807,7 +808,7 @@ if(NANO_GUI OR RAIBLOCKS_GUI)
|
|||
set_target_properties(
|
||||
qt_test PROPERTIES COMPILE_FLAGS
|
||||
"-DQT_NO_KEYWORDS -DBOOST_ASIO_HAS_STD_ARRAY=1")
|
||||
add_dependencies(build_tests qt_test)
|
||||
add_dependencies(all_tests qt_test)
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
|
|
4
ci/build-node.sh
Executable file
4
ci/build-node.sh
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/bash
|
||||
set -euox pipefail
|
||||
|
||||
$(dirname "$BASH_SOURCE")/build.sh executables
|
13
ci/build-tests.sh
Executable file
13
ci/build-tests.sh
Executable file
|
@ -0,0 +1,13 @@
|
|||
#!/bin/bash
|
||||
set -euox pipefail
|
||||
|
||||
BUILD_TYPE="Debug"
|
||||
if [[ "${RELEASE:-false}" == "true" ]]; then
|
||||
BUILD_TYPE="RelWithDebInfo"
|
||||
fi
|
||||
|
||||
BUILD_TYPE=$BUILD_TYPE \
|
||||
NANO_TEST=ON \
|
||||
NANO_NETWORK=dev \
|
||||
NANO_GUI=ON \
|
||||
$(dirname "$BASH_SOURCE")/build.sh all_tests
|
82
ci/build.sh
82
ci/build.sh
|
@ -1,52 +1,62 @@
|
|||
#!/bin/bash
|
||||
set -euox pipefail
|
||||
|
||||
NODE_SRC=${1:-${PWD}}
|
||||
BUILD_TARGET=""
|
||||
if [[ ${1:-} ]]; then
|
||||
BUILD_TARGET="--target $1"
|
||||
fi
|
||||
|
||||
NODE_SRC=${NODE_SRC:-${PWD}}
|
||||
OS=$(uname)
|
||||
BUILD_TYPE=${NANO_BUILD_TYPE:-Debug}
|
||||
BUILD_TARGET=build_tests
|
||||
|
||||
if [[ "${RELEASE:-false}" == "true" ]]; then
|
||||
BUILD_TYPE="RelWithDebInfo"
|
||||
fi
|
||||
|
||||
if [[ ${NANO_ASAN_INT:-0} -eq 1 ]]; then
|
||||
SANITIZERS="-DNANO_ASAN_INT=ON"
|
||||
fi
|
||||
if [[ ${NANO_ASAN:-0} -eq 1 ]]; then
|
||||
SANITIZERS="-DNANO_ASAN=ON"
|
||||
fi
|
||||
if [[ ${NANO_TSAN:-0} -eq 1 ]]; then
|
||||
SANITIZERS="-DNANO_TSAN=ON"
|
||||
fi
|
||||
if [[ ${NANO_COVERAGE:-0} -eq 1 ]]; then
|
||||
SANITIZERS="-DCOVERAGE=ON"
|
||||
fi
|
||||
|
||||
CMAKE_BACKTRACE=""
|
||||
if [[ "$OS" == 'Linux' ]]; then
|
||||
BACKTRACE="-DNANO_STACKTRACE_BACKTRACE=ON"
|
||||
CMAKE_BACKTRACE="-DNANO_STACKTRACE_BACKTRACE=ON"
|
||||
|
||||
if [[ "$COMPILER" == 'clang' ]]; then
|
||||
BACKTRACE="${BACKTRACE} -DNANO_BACKTRACE_INCLUDE=</tmp/backtrace.h>"
|
||||
CMAKE_BACKTRACE="${CMAKE_BACKTRACE} -DNANO_BACKTRACE_INCLUDE=</tmp/backtrace.h>"
|
||||
fi
|
||||
else
|
||||
BACKTRACE=""
|
||||
fi
|
||||
|
||||
mkdir -p build
|
||||
pushd build
|
||||
CMAKE_QT_DIR=""
|
||||
if [[ ${NANO_QT_DIR:-} ]]; then
|
||||
CMAKE_QT_DIR="-DQt5_DIR=${NANO_QT_DIR}"
|
||||
fi
|
||||
|
||||
CMAKE_SANITIZER=""
|
||||
if [[ ${NANO_SANITIZER:-} ]]; then
|
||||
case "${NANO_SANITIZER}" in
|
||||
ASAN)
|
||||
CMAKE_SANITIZER="-DNANO_ASAN=ON"
|
||||
;;
|
||||
ASAN_INT)
|
||||
CMAKE_SANITIZER="-DNANO_ASAN_INT=ON"
|
||||
;;
|
||||
TSAN)
|
||||
CMAKE_SANITIZER="-DNANO_TSAN=ON"
|
||||
;;
|
||||
*)
|
||||
echo "Unknown sanitizer: '${NANO_SANITIZER}'"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
BUILD_DIR="build"
|
||||
|
||||
mkdir -p $BUILD_DIR
|
||||
pushd $BUILD_DIR
|
||||
|
||||
cmake \
|
||||
-DACTIVE_NETWORK=nano_dev_network \
|
||||
-DNANO_TEST=ON \
|
||||
-DNANO_GUI=ON \
|
||||
-DCMAKE_BUILD_TYPE=${BUILD_TYPE:-"Debug"} \
|
||||
-DPORTABLE=ON \
|
||||
-DNANO_WARN_TO_ERR=ON \
|
||||
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
|
||||
-DQt5_DIR=${NANO_QT_DIR:-} \
|
||||
${BACKTRACE:-} \
|
||||
${SANITIZERS:-} \
|
||||
-DACTIVE_NETWORK=nano_${NANO_NETWORK:-"live"}_network \
|
||||
-DNANO_TEST=${NANO_TEST:-OFF} \
|
||||
-DNANO_GUI=${NANO_GUI:-OFF} \
|
||||
-DCOVERAGE=${NANO_COVERAGE:-OFF} \
|
||||
${CMAKE_SANITIZER:-} \
|
||||
${CMAKE_QT_DIR:-} \
|
||||
${CMAKE_BACKTRACE:-} \
|
||||
${NODE_SRC}
|
||||
|
||||
number_of_processors() {
|
||||
|
@ -78,6 +88,6 @@ parallel_build_flag() {
|
|||
esac
|
||||
}
|
||||
|
||||
cmake --build ${PWD} --target ${BUILD_TARGET} $(parallel_build_flag)
|
||||
cmake --build ${PWD} ${BUILD_TARGET} $(parallel_build_flag)
|
||||
|
||||
popd
|
||||
popd
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue