project setup slides
This commit is contained in:
parent
e20bb1538e
commit
9db8631a96
39
slides.tex
39
slides.tex
@ -161,30 +161,47 @@ void chickengame::pickupables::movementSpeedEffect(Entity* player)
|
||||
|
||||
\begin{frame}{Baby's first \texttt{CMakeLists.txt}}
|
||||
\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{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}
|
||||
\item Visual C++ :,)
|
||||
\item Extra generated files by IDE
|
||||
\item VS Solutions have some filepath quirks if you're not careful
|
||||
\item Works out of the box*
|
||||
\item Easy to start a project with
|
||||
\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{frame}
|
||||
\note[itemize]{
|
||||
\item Undefined behaviour first noticed by "huh but it works for me :p"
|
||||
\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{itemize}
|
||||
\item git-modules
|
||||
\item git modules
|
||||
\item CMake's \texttt{add\_subdirectory()} command
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
\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 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}
|
||||
@ -360,6 +377,16 @@ The solution? \texttt{clang-format}
|
||||
\end{frame}
|
||||
\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
|
||||
\begin{frame}[fragile]{Hello, World!}
|
||||
\begin{minted}[linenos,autogobble]{c}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user