@@ -14,7 +14,7 @@ export TSAN_OPTIONS="suppressions=${BASE_ROOT_DIR}/test/sanitizer_suppressions/t
1414export UBSAN_OPTIONS=" suppressions=${BASE_ROOT_DIR} /test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:report_error_type=1"
1515
1616echo " Number of available processing units: $( nproc) "
17- if [ " $CI_OS_NAME " == " macos" ]; then
17+ if [ " $CI_OS_NAME " = " macos" ]; then
1818 top -l 1 -s 0 | awk ' /PhysMem/ {print}'
1919else
2020 free -m -h
@@ -84,23 +84,23 @@ if [ "$USE_BUSY_BOX" = "true" ]; then
8484fi
8585
8686# Make sure default datadir does not exist and is never read by creating a dummy file
87- if [ " $CI_OS_NAME " == " macos" ]; then
87+ if [ " $CI_OS_NAME " = " macos" ]; then
8888 echo > " ${HOME} /Library/Application Support/Elements"
8989else
9090 echo > " ${HOME} /.elements"
9191fi
9292
9393if [ -z " $NO_DEPENDS " ]; then
94- if [[ $CI_IMAGE_NAME_TAG == * centos* ] || [[ $CI_IMAGE_NAME_TAG == * rocky* ]]; then
95- SHELL_OPTS=" CONFIG_SHELL=/bin/ksh" # Temporarily use ksh instead of dash, until https://bugzilla.redhat.com/show_bug.cgi?id=2335416 is fixed.
96- else
97- SHELL_OPTS=" CONFIG_SHELL="
98- fi
94+ case " ${CI_IMAGE_NAME_TAG} " in
95+ * centos* |* rocky* )
96+ SHELL_OPTS=" CONFIG_SHELL=/bin/ksh" # Temporarily use ksh instead of dash, until https://bugzilla.redhat.com/show_bug.cgi?id=2335416 is fixed.
97+ ;;
98+ * )
99+ SHELL_OPTS=" CONFIG_SHELL="
100+ ;;
101+ esac
99102 bash -c " $SHELL_OPTS make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS LOG=1"
100103fi
101- if [ " $DOWNLOAD_PREVIOUS_RELEASES " = " true" ]; then
102- test/get_previous_releases.py -b -t " $PREVIOUS_RELEASES_DIR "
103- fi
104104
105105BITCOIN_CONFIG_ALL=" -DBUILD_BENCH=ON -DBUILD_FUZZ_BINARY=ON"
106106if [ -z " $NO_DEPENDS " ]; then
113113ccache --zero-stats
114114PRINT_CCACHE_STATISTICS=" ccache --version | head -n 1 && ccache --show-stats"
115115
116- if [ -n " $ANDROID_TOOLS_URL " ]; then
117- make distclean || true
118- ./autogen.sh
119- bash -c " ./configure $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG " || ( (cat config.log) && false)
120- make " ${MAKEJOBS} " && cd src/qt && ANDROID_HOME=${ANDROID_HOME} ANDROID_NDK_HOME=${ANDROID_NDK_HOME} make apk
121- bash -c " ${PRINT_CCACHE_STATISTICS} "
122- exit 0
116+ if [ -z " $NO_DEPENDS " ]; then
117+ # legacy autotools path (depends builds)
118+ BITCOIN_CONFIG_ALL=" ${BITCOIN_CONFIG_ALL} --enable-external-signer --prefix=$BASE_OUTDIR "
119+ else
120+ # modern CMake path (native macOS + NO_DEPENDS=1)
121+ BITCOIN_CONFIG_ALL=" ${BITCOIN_CONFIG_ALL} -DENABLE_EXTERNAL_SIGNER=ON"
123122fi
124123
125- BITCOIN_CONFIG_ALL= " ${BITCOIN_CONFIG_ALL} --enable-external-signer --prefix= $BASE_OUTDIR "
126-
127- if [ -n " $CONFIG_SHELL " ] ; then
128- " $CONFIG_SHELL " -c " ./autogen.sh "
124+ # === CMake build (modern path used by the fork) ===
125+ if [ -n " $NO_DEPENDS " ] ; then
126+ echo " Building with CMake (NO_DEPENDS=1)... "
127+ cmake -B build -S . -G " $CMAKE_GENERATOR " $BITCOIN_CONFIG_ALL
129128else
129+ # depends path (still uses configure in some jobs)
130130 ./autogen.sh
131+ ./configure $BITCOIN_CONFIG_ALL
131132fi
132133
134+ cmake --build build --config Release --parallel " $MAKEJOBS "
135+
133136mkdir -p " ${BASE_BUILD_DIR} "
134137cd " ${BASE_BUILD_DIR} "
135138
0 commit comments