diff --git a/.templates/.qtcreator/winix.creator.user b/.templates/.qtcreator/winix.creator.user index cdf567a..77198b7 100644 --- a/.templates/.qtcreator/winix.creator.user +++ b/.templates/.qtcreator/winix.creator.user @@ -4,7 +4,7 @@ EnvironmentId - {5ab9881c-fa5d-4482-9095-89b8f4d69c9e} + %%%QT_ENVIRONMENT_ID%%% ProjectExplorer.Project.ActiveTarget @@ -93,7 +93,7 @@ Desktop Desktop Desktop - {d8d7580a-b779-40c7-980c-a52adf87b0ab} + %%%QT_DEFAULT_PROFILE_ID%%% 0 0 0 diff --git a/.templates/install_qtcreator.sh b/.templates/install_qtcreator.sh index efd9a96..51f7f0f 100755 --- a/.templates/install_qtcreator.sh +++ b/.templates/install_qtcreator.sh @@ -12,6 +12,39 @@ if [ ! -d ${CURRENT_DIR}/.templates ] ; then exit 1 fi +qtcreatorini=~/.config/QtProject/QtCreator.ini +qtprofiles=~/.config/QtProject/qtcreator/profiles.xml + +if [ ! -f "$qtcreatorini" ] ; then + echo "I cannot find a $qtcreatorini file" + echo "this file is needed to take an EnvironmentId parameter" + echo "if QTCreator was recently installed make sure you have opened it at least once" + exit 2 +fi + +if [ ! -f "$qtprofiles" ] ; then + echo "I cannot find a $qtprofiles file" + echo "this file is needed to take a default profile id parameter" + echo "if QTCreator was recently installed make sure you have opened it at least once" + exit 3 +fi + +qtenvironmentid=`grep -F 'Settings\EnvironmentId' "$qtcreatorini" | grep -Eo '\{[a-zA-Z0-9-]+\}'` +qtdefaultprofileid=`grep -A 1 -F 'Profile.Default' "$qtprofiles" | tail -n 1 | grep -Eo '\{[a-zA-Z0-9-]+\}'` + +if [ -z "$qtenvironmentid" ] ; then + echo "I cannot read a Settings\EnvironmentId parameter from $qtcreatorini file" + exit 4 +fi + +if [ -z "$qtdefaultprofileid" ] ; then + echo "I cannot read a Profile.Default parameter from $qtprofiles file" + exit 5 +fi + +echo "Your QTCreator EnvironmentId is: $qtenvironmentid" +echo "Your QTCreator default profile id is: $qtdefaultprofileid" + # change / to \/ in paths CURRENT_DIR_FOR_SED=$(echo ${CURRENT_DIR} | sed 's/\//\\\//g') GLOBAL_WORKING_DIR_FOR_SED=$(echo ${GLOBAL_WORKING_DIR} | sed 's/\//\\\//g') @@ -35,7 +68,9 @@ if [ -d "${QTCREATOR_DIR}" ] ; then if [ ! -f "${QTCREATOR_DIR}/$i" ] ; then cat "$i" | \ sed -e "s/%%%CURRENT_DIR%%%/${CURRENT_DIR_FOR_SED}/g" \ - -e "s/%%%GLOBAL_WORKING_DIR%%%/${GLOBAL_WORKING_DIR_FOR_SED}/g" > \ + -e "s/%%%GLOBAL_WORKING_DIR%%%/${GLOBAL_WORKING_DIR_FOR_SED}/g" \ + -e "s/%%%QT_ENVIRONMENT_ID%%%/${qtenvironmentid}/g" \ + -e "s/%%%QT_DEFAULT_PROFILE_ID%%%/${qtdefaultprofileid}/g" > \ "${QTCREATOR_DIR}/$i" fi done