project setup slides

This commit is contained in:
Benedikt Galbavy 2025-01-14 17:13:57 +01:00
parent e20bb1538e
commit 9db8631a96

View File

@ -161,30 +161,47 @@ void chickengame::pickupables::movementSpeedEffect(Entity* player)
\begin{frame}{Baby's first \texttt{CMakeLists.txt}} \begin{frame}{Baby's first \texttt{CMakeLists.txt}}
\begin{itemize} \begin{itemize}
\item On UAS: Only ever Make or no project setup \item On UAS: Only \texttt{make} is taught, most subjects didn't have further requirements for project setup
\item CMake is good documented, works out of the box with most IDEs, is directly supported by all used libraries
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\note[itemize]{
\item side notes: static linking, compile time
\item transition to VS (\enquote{before we used a CMake file though\dots})
}
\begin{frame}{Visual Studio} \begin{frame}[allowframebreaks]{Visual Studio}
Advantages:
\begin{itemize} \begin{itemize}
\item Visual C++ :,) \item Works out of the box*
\item Extra generated files by IDE \item Easy to start a project with
\item VS Solutions have some filepath quirks if you're not careful \end{itemize}
\framebreak
Disadvantages:
\begin{itemize}
\item Undefined behaviour\footnote{Turns out we had \texttt{heap-use-after-free} errors, but with VS objects were still in memory most of the time} behaves different to \texttt{gcc}
\item What is a \enquote{solution}?
\item VS copied the \texttt{assets/} folder to a different location, which wasn't checked into git
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\note[itemize]{ \note[itemize]{
\item Undefined behaviour first noticed by "huh but it works for me :p" \item Undefined behaviour first noticed by "huh but it works for me :p"
\item When trying to access assets things went weird \item When trying to access assets things went weird
\item adding a file doesn't add the file
} }
\begin{frame}{How the \_ do I import a library?} \begin{frame}{How the \_ do I import a library?}
\begin{itemize} \begin{itemize}
\item git-modules \item git modules
\item CMake's \texttt{add\_subdirectory()} command
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\note[itemize]{ \note[itemize]{
\item first start: someone checked SDL into git. Was the windows version. Project worked on my machine because I had SDL installed locally. Issues due to different versions
\item SDL is a library, static compile \item SDL is a library, static compile
\item git-modules - do not bloat contributions \item git-modules - do not bloat contributions
\item \enquote{which worked without issues\dots no, of course not, requires git command to update submodules when switching branches}
\item could have used a dependency manager (like conan), didn't know that was a thing
} }
\subsection{ECS} \subsection{ECS}
@ -360,6 +377,16 @@ The solution? \texttt{clang-format}
\end{frame} \end{frame}
\note{transistion to project management} \note{transistion to project management}
\section{Showcase}
\section*{Thank you}
\begin{frame}{Resources}
The project can be found on \href{https://github.com/orgs/VEGO-Engine/}{GitHub}, but will not be actively maintained.
The presentation on my personal \href{https://gitea.nanopenguin.at/nanopenguin/cppusergroup-vego-pres}{Gitea} instance.
\end{frame}
\note{Will be published (if ok with rene)}
%code example %code example
\begin{frame}[fragile]{Hello, World!} \begin{frame}[fragile]{Hello, World!}
\begin{minted}[linenos,autogobble]{c} \begin{minted}[linenos,autogobble]{c}