summaryrefslogtreecommitdiffhomepage
path: root/subr.pkg
diff options
context:
space:
mode:
authorLucía Andrea Illanes Albornoz <lucia@luciaillanes.de>2023-03-20 19:10:32 +0100
committerLucía Andrea Illanes Albornoz <lucia@luciaillanes.de>2023-03-20 19:18:30 +0100
commit4ad93ea7d03277735a8688943d00645dda4efc94 (patch)
treeb70323b7120ff1cc8c399202c309f52c999e24cc /subr.pkg
parent99f4d8ac5da8f18e437668626bd4b532734bf14c (diff)
downloadmidipix_build-4ad93ea7d03277735a8688943d00645dda4efc94.tar.bz2
midipix_build-4ad93ea7d03277735a8688943d00645dda4efc94.tar.xz
Correctly pass ccache to CMake.
Diffstat (limited to 'subr.pkg')
-rw-r--r--subr.pkg/pkg_configure.subr18
1 files changed, 17 insertions, 1 deletions
diff --git a/subr.pkg/pkg_configure.subr b/subr.pkg/pkg_configure.subr
index 8c69600e..743ab9d6 100644
--- a/subr.pkg/pkg_configure.subr
+++ b/subr.pkg/pkg_configure.subr
@@ -46,7 +46,8 @@ pkgp_configure_autotools() {
};
pkgp_configure_cmake() {
- local _ppcc_cmake_args_auto"" _ppcc_build_type="" _ppcc_IFS0="${IFS:- }" _ppcc_rc=0 IFS;
+ local _ppcc_build_type="" _ppcc_cmake_args_auto="" _ppcc_cmd_name="" \
+ _ppcc_rc=0 _ppcc_vname="" _ppcc_vval="" _ppcc_IFS0="${IFS:- }" IFS;
if [ "${PKG_CMAKE_LISTFILE:+1}" != 1 ]\
|| ! [ -e "${PKG_BASE_DIR}/${PKG_SUBDIR}/${PKG_CMAKE_LISTFILE}" ]; then
@@ -63,13 +64,28 @@ pkgp_configure_cmake() {
release|*) _ppcc_build_type="release"; ;;
esac;
+ for _ppcc_vname in AR CC CXX PKG_CONFIG RANLIB; do
+ _ppcc_vname="PKG_${_ppcc_vname}";
+ if [ "${ARG_CCACHE:+1}" = 1 ]; then
+ eval ${_ppcc_vname}="\${${_ppcc_vname}#${ARG_CCACHE} }";
+ fi;
+ if eval [ '"${'"${_ppcc_vname}"':+1}"' = 1 ]\
+ && eval [ '"${'"${_ppcc_vname}"'#/}"' = '"${'"${_ppcc_vname}"'}"' ]; then
+ eval _ppcc_cmd_name="\${${_ppcc_vname}% *}";
+ eval _ppcc_vval="\${${_ppcc_vname}#* }";
+ eval ${_ppcc_vname}='$(which "${_ppcc_cmd_name}")' || return 1;
+ fi;
+ done;
+
_ppcc_cmake_args_auto="
-DCMAKE_AR=${PKG_AR}
-DCMAKE_BUILD_TYPE=${_ppcc_build_type}
-DCMAKE_C_COMPILER=${PKG_CC}
+ ${ARG_CCACHE:+-DCMAKE_C_COMPILER_LAUNCHER=${ARG_CCACHE}}
-DCMAKE_C_FLAGS=${PKG_CFLAGS_CONFIGURE:-}${PKG_CFLAGS_CONFIGURE_EXTRA:+ ${PKG_CFLAGS_CONFIGURE_EXTRA}}
-DCMAKE_CPP_FLAGS=${PKG_CPPFLAGS_CONFIGURE:-}${PKG_CPPFLAGS_CONFIGURE_EXTRA:+ ${PKG_CPPFLAGS_CONFIGURE_EXTRA}}
-DCMAKE_CXX_COMPILER=${PKG_CXX}
+ ${ARG_CCACHE:+-DCMAKE_CXX_COMPILER_LAUNCHER=${ARG_CCACHE}}
-DCMAKE_CXX_FLAGS=${PKG_CXXFLAGS_CONFIGURE:-}${PKG_CXXFLAGS_CONFIGURE_EXTRA:+ ${PKG_CXXFLAGS_CONFIGURE_EXTRA}}
-DCMAKE_EXE_LINKER_FLAGS=${PKG_LDFLAGS_CONFIGURE:-}${PKG_LDFLAGS_CONFIGURE_EXTRA:+ ${PKG_LDFLAGS_CONFIGURE_EXTRA}}
-DCMAKE_FIND_ROOT_PATH=${PKG_PREFIX}