This commit is contained in:
Patricia Aas 2021-10-05 10:00:50 +02:00
parent 97b59000cb
commit fd976c0d08

View file

@ -4,23 +4,29 @@ In this exercise we will add a couple of files to the project.
## CMake
As described in the slides, the project is defined by several CMake files. The ones we are interested is `CMakeLists.txt` in the root project folder and the `CMakeLists.txt` file in the `lib` folder.
As described in the slides, the project is defined by several CMake files. The ones we are interested
is `CMakeLists.txt` in the root project folder and the `CMakeLists.txt` file in the `lib` folder.
You can see that the root CMake file is adding the `lib` subdirectory, this means that it is looking for a `CMakeLists.txt` file within that folder.
You can see that the root CMake file is adding the `lib` subdirectory, this means that it is looking for
a `CMakeLists.txt` file within that folder.
The CMake file in the `lib` folder describes a few package requirements and then it does this
The CMake file in the `lib` folder describes a few package requirements and then it does this
```cmake
file(GLOB_RECURSE sources CONFIGURE_DEPENDS "*.cpp" "*.hpp")
```
Here it is creating a variable called `sources` that will contain all `.cpp` and `.hpp` files within the `lib` folder. This means that if we want to add new files, we don't have to list them here, as any applicable files are included. But adding a file will not automatically add the file in the IDE, as CMake needs to be run again for those changes to apply.
Here it is creating a variable called `sources` that will contain all `.cpp` and `.hpp` files within the `lib` folder.
This means that if we want to add new files, we don't have to list them here, as any applicable files are included. But
adding a file will not automatically add the file in the IDE, as CMake needs to be run again for those changes to apply.
This is because the current configuration and list of files are defined in the CMake and IDE project files inside of your build folder.
This is because the current configuration and list of files are defined in the CMake and IDE project files inside of
your build folder.
# Exercise
One of the Pac-Man ghosts is missing. We will fully implement this ghost later but for now lets add the `.cpp` and `.hpp` files to the project.
One of the Pac-Man ghosts is missing. We will fully implement this ghost later but for now lets add the `.cpp`
and `.hpp` files to the project.
1. Create `Clyde.hpp` and `Clyde.cpp` files within the `lib` folder.
@ -28,4 +34,6 @@ One of the Pac-Man ghosts is missing. We will fully implement this ghost later b
3. Include the `Clyde.hpp` file within the `Clyde.cpp` file.
4. Create an empty class named `Clyde` within the `.hpp` file. Look at other ghost `.hpp` files and see how they define the class. It does not need to inherit from the `Ghost` base class and it does not need any functions. But if you have extra time, try to inherit from the Ghost class and see what happens when you try to compile.
4. Create an empty class named `Clyde` within the `.hpp` file. Look at other ghost `.hpp` files and see how they define
the class. It does not need to inherit from the `Ghost` base class and it does not need any functions. But if you
have extra time, try to inherit from the Ghost class and see what happens when you try to compile.