Add a clangd make target: $ make clangd This installs a .clangd file with configuration (includes/macros/compiler flags) for the clandg language server. Add a clangdall make target: $ make clangdall This installs a .clangd also in pikotools/ezc/morm and tito libraries. Add a qtcreator make target: $ make qtcreator This installs a .qtcreator directory with QTCreator IDE project files. In the QTCreator you can open a project by selecting the .qtcreator/winix.creator file. You can use 'make qtcreator' again to refresh .qtcreator/winix.files, the rest of the project files will not be modified. Add a qtcreatorall make target: $ make qtcreatorall This installs a .qtcreator directory also in pikotools/ezc/morm and tito libraries.
72 lines
1.6 KiB
Bash
Executable File
72 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
CURRENT_DIR=$(pwd)
|
|
GLOBAL_WORKING_DIR=$(realpath ${CURRENT_DIR}/..)
|
|
QTCREATOR_DIR=${CURRENT_DIR}/.qtcreator
|
|
|
|
# ----------
|
|
|
|
# make sure the current directory is correct
|
|
if [ ! -d ${CURRENT_DIR}/.templates ] ; then
|
|
echo "this script should be called by make: make qtcreator (one level up)"
|
|
exit 1
|
|
fi
|
|
|
|
# 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')
|
|
|
|
was_qtcreator_dir=0
|
|
|
|
if [ -d "${QTCREATOR_DIR}" ] ; then
|
|
was_qtcreator_dir=1
|
|
else
|
|
mkdir -p "${QTCREATOR_DIR}"
|
|
fi
|
|
|
|
if [ -d "${QTCREATOR_DIR}" ] ; then
|
|
|
|
if [ -d ${CURRENT_DIR}/.templates/.qtcreator ] ; then
|
|
cd ${CURRENT_DIR}/.templates/.qtcreator
|
|
|
|
if [ $? -eq 0 ] ; then
|
|
|
|
for i in * ; do
|
|
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" > \
|
|
"${QTCREATOR_DIR}/$i"
|
|
fi
|
|
done
|
|
|
|
if [ $was_qtcreator_dir -eq 0 ] ; then
|
|
echo "QTCreator files generated to ${QTCREATOR_DIR} directory"
|
|
echo "select an 'open project...' option and find a ${QTCREATOR_DIR}/*.creator file"
|
|
fi
|
|
|
|
fi
|
|
fi
|
|
|
|
|
|
find ${QTCREATOR_DIR} -name "*.files" | while read projectfiles ; do
|
|
|
|
cd ${CURRENT_DIR}/winixd
|
|
|
|
if [ $? -eq 0 ] ; then
|
|
find ../winixd -type f \( -iname "*.cpp" -o -iname "*.h" \) | sort > ${projectfiles}
|
|
echo "file ${projectfiles} has been updated"
|
|
fi
|
|
|
|
cd ${CURRENT_DIR}/winixcli
|
|
|
|
if [ $? -eq 0 ] ; then
|
|
find ../winixcli -type f \( -iname "*.cpp" -o -iname "*.h" \) | sort >> ${projectfiles}
|
|
fi
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
|