summaryrefslogtreecommitdiff
path: root/eclass/qt6-build.eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/qt6-build.eclass')
-rw-r--r--eclass/qt6-build.eclass31
1 files changed, 15 insertions, 16 deletions
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 28f8d904065d..c96bc0c1c3c3 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -99,15 +99,14 @@ qt6-build_src_prepare() {
cmake_src_prepare
if [[ -e CMakeLists.txt ]]; then
- # build may be skipped entirely and install nothing without errors
- # if checking for a major dependency/condition failed
- sed -i '/message(NOTICE.*Skipping/s/NOTICE/FATAL_ERROR/' CMakeLists.txt || die
+ # throw an error rather than skip if *required* conditions are not met
+ sed -e '/message(NOTICE.*Skipping/s/NOTICE/FATAL_ERROR/' \
+ -i CMakeLists.txt || die
fi
if in_iuse test && use test && [[ -e tests/auto/CMakeLists.txt ]]; then
- # upstream seems to install before running tests, and cmake
- # subdir that is present in about half of the Qt6 components
- # cause a dependency on itself and sometimes install test junk
+ # .cmake files tests causing a self-dependency in many modules,
+ # and that sometimes install additional test junk
sed -i '/add_subdirectory(cmake)/d' tests/auto/CMakeLists.txt || die
fi
@@ -136,13 +135,7 @@ qt6-build_src_configure() {
return
fi
- if [[ ${mycmakeargs@a} == *a* ]]; then
- local mycmakeargs=("${mycmakeargs[@]}")
- else
- local mycmakeargs=()
- fi
-
- mycmakeargs+=(
+ local defaultcmakeargs=(
# see _qt6-build_create_user_facing_links
-DINSTALL_PUBLICBINDIR="${QT6_PREFIX}"/bin
# note that if qtbase was built with tests, this is default ON
@@ -151,6 +144,12 @@ qt6-build_src_configure() {
-DQT_USE_DEFAULT_CMAKE_OPTIMIZATION_FLAGS=ON
)
+ if [[ ${mycmakeargs@a} == *a* ]]; then
+ local mycmakeargs=("${defaultcmakeargs[@]}" "${mycmakeargs[@]}")
+ else
+ local mycmakeargs=("${defaultcmakeargs[@]}")
+ fi
+
cmake_src_configure
}
@@ -251,8 +250,8 @@ _qt6-build_match_cpu_flags() {
local flags=() intrin intrins
while IFS=' ' read -ra intrins; do
[[ ${intrins[*]} == *=[^_]* && ${intrins[*]} == *=_* ]] &&
- for intrin in "${intrins[@]}"; do
- [[ ${intrin} == *?=* ]] && flags+=( -mno-${intrin%=*} )
+ for intrin in "${intrins[@]%=*}"; do
+ [[ ${intrin} ]] && flags+=( -mno-${intrin} )
done
done < <(
# TODO: review if can drop fma= matching after QTBUG-116357
@@ -287,7 +286,7 @@ _qt6-build_prepare_env() {
readonly QT6_BINDIR=${QT6_ARCHDATADIR}/bin
readonly QT6_DOCDIR=${QT6_PREFIX}/share/qt6-doc
- readonly QT6_EXAMPLESDIR=${QT6_ARCHDATADIR}/examples
+ readonly QT6_EXAMPLESDIR=${QT6_DATADIR}/examples
readonly QT6_HEADERDIR=${QT6_PREFIX}/include/qt6
readonly QT6_IMPORTDIR=${QT6_ARCHDATADIR}/imports
readonly QT6_LIBEXECDIR=${QT6_ARCHDATADIR}/libexec