cmake: Allow choosing Ninja to build packages
This commit is contained in:
parent
33e80f9944
commit
5a5cf2b11d
|
@ -308,6 +308,7 @@ termux_step_setup_variables() {
|
|||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS=""
|
||||
TERMUX_PKG_EXTRA_HOSTBUILD_CONFIGURE_ARGS=""
|
||||
TERMUX_PKG_EXTRA_MAKE_ARGS=""
|
||||
TERMUX_PKG_EXTRA_NINJA_ARGS=""
|
||||
TERMUX_PKG_BUILD_IN_SRC=""
|
||||
TERMUX_PKG_RM_AFTER_INSTALL=""
|
||||
TERMUX_PKG_BREAKS="" # https://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
|
||||
|
@ -330,6 +331,7 @@ termux_step_setup_variables() {
|
|||
TERMUX_PKG_MAINTAINER="Fredrik Fornwall @fornwall"
|
||||
TERMUX_PKG_CLANG=yes # does nothing for cmake based packages. clang is chosen by cmake
|
||||
TERMUX_PKG_FORCE_CMAKE=no # if the package has autotools as well as cmake, then set this to prefer cmake
|
||||
TERMUX_CMAKE_BUILD='Unix Makefiles' # gives CMake packages the choice of using Ninja
|
||||
TERMUX_PKG_HAS_DEBUG=yes # set to no if debug build doesn't exist or doesn't work, for example for python based packages
|
||||
|
||||
unset CFLAGS CPPFLAGS LDFLAGS CXXFLAGS
|
||||
|
@ -921,10 +923,12 @@ termux_step_configure_cmake () {
|
|||
|
||||
local CMAKE_PROC=$TERMUX_ARCH
|
||||
test $CMAKE_PROC == "arm" && CMAKE_PROC='armv7-a'
|
||||
local MAKE_PROGRAM_PATH=`which make`
|
||||
if [ $TERMUX_CMAKE_BUILD = Ninja ]; then MAKE_PROGRAM_PATH=`which ninja`; fi
|
||||
|
||||
# XXX: CMAKE_{AR,RANLIB} needed for at least jsoncpp build to not
|
||||
# pick up cross compiled binutils tool in $PREFIX/bin:
|
||||
cmake -G 'Unix Makefiles' "$TERMUX_PKG_SRCDIR" \
|
||||
cmake -G "$TERMUX_CMAKE_BUILD" "$TERMUX_PKG_SRCDIR" \
|
||||
-DCMAKE_AR="$(which $AR)" \
|
||||
-DCMAKE_UNAME="$(which uname)" \
|
||||
-DCMAKE_RANLIB="$(which $RANLIB)" \
|
||||
|
@ -937,7 +941,7 @@ termux_step_configure_cmake () {
|
|||
-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
|
||||
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
|
||||
-DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \
|
||||
-DCMAKE_MAKE_PROGRAM=`which make` \
|
||||
-DCMAKE_MAKE_PROGRAM=$MAKE_PROGRAM_PATH \
|
||||
-DCMAKE_SYSTEM_PROCESSOR=$CMAKE_PROC \
|
||||
-DCMAKE_SYSTEM_NAME=Android \
|
||||
-DCMAKE_SYSTEM_VERSION=21 \
|
||||
|
@ -986,6 +990,12 @@ termux_step_make() {
|
|||
else
|
||||
make -j $TERMUX_MAKE_PROCESSES $QUIET_BUILD ${TERMUX_PKG_EXTRA_MAKE_ARGS}
|
||||
fi
|
||||
elif test -f build.ninja || [ ! -z "$TERMUX_PKG_EXTRA_NINJA_ARGS" ]; then
|
||||
if [ -z "$TERMUX_PKG_EXTRA_NINJA_ARGS" ]; then
|
||||
ninja -j $TERMUX_MAKE_PROCESSES
|
||||
else
|
||||
ninja -j $TERMUX_MAKE_PROCESSES ${TERMUX_PKG_EXTRA_NINJA_ARGS}
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue