|
|
|
|
@ -1995,6 +1995,37 @@ fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
|
# Check C++ standard support
|
|
|
|
|
# Note: the commands work for both g++ and clang
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
|
COMPILER=`sed -n '/^\s*QMAKE_CXX\s*=\s*/{s///;s/\s*$//;p;q}' $QMAKESPEC/qmake.conf`
|
|
|
|
|
CXX_REQ_STD=17
|
|
|
|
|
CXX_REQ_STD_MACRO=201703L
|
|
|
|
|
CXX_STD_FLAG=""
|
|
|
|
|
# First check whether the default standard suffice
|
|
|
|
|
$COMPILER -fsyntax-only -x c++ - 2>/dev/null <<EOF
|
|
|
|
|
#ifndef __cplusplus
|
|
|
|
|
#error "This is not a C++ compiler"
|
|
|
|
|
#elif __cplusplus < $CXX_REQ_STD_MACRO
|
|
|
|
|
#error "This is not a C++$CXX_REQ_STD compiler"
|
|
|
|
|
#endif
|
|
|
|
|
EOF
|
|
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
|
# Otherwise check if support can be added with a flag
|
|
|
|
|
CXX_STD_FLAG="-std=c++$CXX_REQ_STD"
|
|
|
|
|
$COMPILER $CXX_STD_FLAG -fsyntax-only -x c++ /dev/null
|
|
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
|
echo
|
|
|
|
|
echo "Support for C++$CXX_REQ_STD is required but your compiler"
|
|
|
|
|
echo "does not seem to support it. Can't proceed."
|
|
|
|
|
echo
|
|
|
|
|
exit 3
|
|
|
|
|
fi
|
|
|
|
|
QMAKE_VARS="$QMAKE_VARS \"QMAKE_CXXFLAGS+=$CXX_STD_FLAG\""
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
|
# LICENSING
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
|
@ -2079,7 +2110,7 @@ if true; then ###[ '!' -f "$outpath/bin/tqmake" ];
|
|
|
|
|
grep "^QMAKE_CC[^_A-Z0-9]" $QMAKESPEC/qmake.conf | sed "s,QMAKE_CC,CC," >>$mkfile
|
|
|
|
|
grep "^QMAKE_CXX[^_A-Z0-9]" $QMAKESPEC/qmake.conf | sed "s,QMAKE_CXX,CXX," >>$mkfile
|
|
|
|
|
grep "^QMAKE_CFLAGS[^_A-Z0-9]" $QMAKESPEC/qmake.conf >>$mkfile
|
|
|
|
|
grep "^QMAKE_CXXFLAGS[^_A-Z0-9]" $QMAKESPEC/qmake.conf | sed "s,\$\$QMAKE_CFLAGS,\$(QMAKE_CFLAGS)," >>$mkfile
|
|
|
|
|
grep "^QMAKE_CXXFLAGS[^_A-Z0-9]" $QMAKESPEC/qmake.conf | sed "s,\$\$QMAKE_CFLAGS,\$(QMAKE_CFLAGS) $CXX_STD_FLAG," >>$mkfile
|
|
|
|
|
grep "^QMAKE_LFLAGS[^_A-Z0-9]" $QMAKESPEC/qmake.conf >>$mkfile
|
|
|
|
|
if [ "$CFG_DEBUG" = "yes" ]; then
|
|
|
|
|
grep "QMAKE_CFLAGS_DEBUG[^_A-Z0-9]" $QMAKESPEC/qmake.conf >>$mkfile
|
|
|
|
|
@ -2120,7 +2151,7 @@ if true; then ###[ '!' -f "$outpath/bin/tqmake" ];
|
|
|
|
|
echo >>$mkfile
|
|
|
|
|
sed -e "s,@SOURCE_PATH@,$relpath,g" -e "s,@BUILD_PATH@,$outpath,g" \
|
|
|
|
|
-e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \
|
|
|
|
|
-e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
|
|
|
|
|
-e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \
|
|
|
|
|
-e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \
|
|
|
|
|
-e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \
|
|
|
|
|
-e "s,@QMAKE_QTOBJS@,$EXTRA_SOURCES,g" -e "s,@QMAKESPEC@,$QMAKESPEC,g" $in_mkfile >>$mkfile
|
|
|
|
|
|