Skip to content

Commit 60d820a

Browse files
authored
Update cpack lecture and exercise (#248)
* Update lecture demos * Update lecture * Update time table * Add orga slides for week 8 * Fix md formatting
1 parent f74c780 commit 60d820a

File tree

6 files changed

+131
-4
lines changed

6 files changed

+131
-4
lines changed
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
---
2+
type: slide
3+
slideOptions:
4+
transition: slide
5+
width: 1400
6+
height: 900
7+
margin: 0.1
8+
data-background-color: green
9+
---
10+
11+
<style>
12+
.reveal strong {
13+
font-weight: bold;
14+
color: orange;
15+
}
16+
.reveal p {
17+
text-align: left;
18+
}
19+
.reveal section h1 {
20+
color: orange;
21+
}
22+
.reveal section h2 {
23+
color: orange;
24+
}
25+
.reveal code {
26+
font-family: 'Ubuntu Mono';
27+
color: orange;
28+
}
29+
.reveal section img {
30+
background:none;
31+
border:none;
32+
box-shadow:none;
33+
}
34+
</style>
35+
36+
# Organizational Things Week 8
37+
38+
---
39+
40+
## Time Table
41+
42+
<style>
43+
td {
44+
font-size: 35px
45+
}
46+
</style>
47+
48+
| Date | Type | Chapter | Topic | Lecturer |
49+
| ---- | ---- | ------- |------ | -------- |
50+
| 12.11. |Lecture | 3 | Intro packaging, Python packaging | Ishaan |
51+
| 12.11. |Lab | 3 | Python packaging | Ishaan |
52+
| 19.11. |Lecture | 3 | Linux fundamentals, Make, CMake | Gerasimos |
53+
| 19.11. |Lab | 3 | CMake and Docker | Gerasimos |
54+
| 26.11. |Lecture | 3 | Spack | Ishaan |
55+
| 26.11. |Lab | 3 | Spack | Ishaan |
56+
| **03.12.** |**Lecture** | **3** | **CPack and more CMake** | **Benjamin** |
57+
| 03.12. |Lab | 3 | CPack | Benjamin |
58+
| 10.12. |Lecture | 4 | Technical writing | Gerasimos |
59+
| 10.12. |Lab | 4 | Code review | Gerasimos |
60+
| 17.12. |Presentations | C | **2nd student presentations** | students |
61+
| 17.12. |Presentations | C | **2nd student presentations** | students |
62+
63+
---
64+
65+
## Exam Registration
66+
67+
- You have to register for exam (we cannot do this for you)
68+
- Campus deadline should be today
69+
70+
---
71+
72+
## Challenge First Report: MR Feedback
73+
74+
- Try to write good MR titles and descriptions
75+
- Resolve threads when comments are answered, done, or dropped
76+
- If changes requested: try to fix in same MR
77+
- Approval by reviewer: ready to merge
78+
- All MRs should get merged
79+
- You have to make usage of generative AI transparent
80+
81+
---
82+
83+
## Challenge Contribution
84+
85+
- Please open an issue in the [challenge repo](https://gitlab-sim.informatik.uni-stuttgart.de/simulation-software-engineering-wite2526/challenge) explaining what you want to work on in the contribution. We will then use these issues to further discuss the progress of the contribution. Provide links to issues, pull requests etc.
86+
- Deadline (for opening the issue): Dec 17, 2025, 23:59
87+
- If you open earlier, you get feedback earlier
88+
- Latest feedback from supervisors: Jan 7, 2025, 09:45
89+
- Title of issue: "Contribution to SOFTWARE by USERNAME"
90+
- Tag your supervisor in description
91+
- Get in touch with maintainers early (through official channels)
92+
- Discuss before you start developing

03_building_and_packaging/cmake_more_demo.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
- `tree cmake`
99
- If software should be usable (for everybody everywhere), building and packaging is a project by itself
1010
- In `modules`: some `FindX.cmake`, partially third-party, partially developed by preCICE devs
11-
- In `CMakeLists.txt`: `sources.cmake` included (around line 510)
11+
- In `CMakeLists.txt`: `sources.cmake` included (around line 553)
1212
- No glob, but generated externally (some python script)
1313
- Look at `src/sources.cmake`
1414
- Look at `CPackConfig.cmake`
@@ -18,6 +18,7 @@
1818

1919
- There are many tools around CMake, `ccmake` is also developed by KitWare
2020
- Separate package on Ubuntu: `sudo apt-get install cmake-curses-gui`
21+
- If necessary, use Docker recipe in [`03_building_and_packaging/examples/ccmake`](https://github.com/Simulation-Software-Engineering/Lecture-Material/tree/main/03_building_and_packaging/examples/ccmake).
2122
- Delete previous build folder and start from scratch
2223
- `ccmake ..`
2324
- `[c]` if not yet configured before

03_building_and_packaging/cpack_demo.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ Example code is in [`03_building_and_packaging/examples/cpack`](https://github.c
9696
- `cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release ..` and `cpack -G DEB` ... no complaints
9797
- Different package name: `helloworld_0.1.0_amd64.deb`
9898
- Install the package: `apt install ./helloworld_0.1.0_amd64.deb`
99-
- `helloworld` and `which helloworld`: now `/usr`, not `/usr/local`, since we use package manager.
99+
- `helloworld` and `which helloworld`: we just installed one in `/usr`, not in `/usr/local`, since we used package manager (but the old one could still be called first).
100100

101101
## Check Debian Package
102102

03_building_and_packaging/cpack_exercise.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
Let us try to package the code from the CMake exercise with CPack, such that we can give the (binary) software to somebody else.
44

5-
Deadline: **December 11, 2024, 9:00**
5+
Deadline: **December 10, 2025, 9:00**
66

77
## Overview
88

9-
- The goal of the exercise is to open a pull request from a fork of [the CPack exercise repository](https://github.com/Simulation-Software-Engineering/cpack-exercise-wt2425). Please name your pull request `Add installation and packaging targets`. In the pull request description, please explain what we need to do to test your code. If you work on any of the optional tasks below, please document in the description as well.
9+
- The goal of the exercise is to open a pull request from a fork of [the CPack exercise repository](https://github.com/Simulation-Software-Engineering/cpack-exercise-wt2526). Please name your pull request `Add installation and packaging targets`. In the pull request description, please explain what we need to do to test your code. If you work on any of the optional tasks below, please document in the description as well.
1010
- The current state of the code is basically a solution of the CMake exercise from last week. For demonstration purpose the code is now, however, artificially split into a library `cpackexamplelib` and an executable `cpackexample`.
1111
- Your task is to develop a CMake/CPack configuration that allows generating a `.tar.gz` and a Debian `.deb` package of the code. To this end, follow the same four steps as in the lecture (details below).
1212

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
From ubuntu:24.04
2+
3+
RUN apt-get -qq update && \
4+
apt-get -qq -y install \
5+
build-essential \
6+
cmake \
7+
g++ \
8+
vim \
9+
tree \
10+
git \
11+
cmake-curses-gui \
12+
libeigen3-dev \
13+
libxml2-dev \
14+
libboost-all-dev \
15+
petsc-dev \
16+
python3-dev \
17+
python3-numpy
18+
19+
# This is some strang Docker problem. Normally, you don't need to add /usr/local/lib to LD_LIBRARY_PATH
20+
ENV LD_LIBRARY_PATH $LD_LIBRARY_PATH:/usr/local/lib/
21+
22+
RUN git clone https://github.com/precice/precice.git
23+
24+
CMD ["/bin/bash"]

timetable.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,3 +72,13 @@
7272
## 7.2 – Wed, November 26, 2025
7373

7474
- **90** min.: [Exercise: Packaging with Spack](https://github.com/Simulation-Software-Engineering/Lecture-Material/blob/main/03_building_and_packaging/spack_exercise.md)
75+
76+
## 8.1 – Wed, December 3, 2025
77+
78+
- **5** min.: Organizational remarks: [slides](https://github.com/Simulation-Software-Engineering/Lecture-Material/blob/main/00_organization/organizational_remarks_week8_slides.md)
79+
- **65** min.: Installation and Packaging with CMake and CPack: [slides](https://github.com/Simulation-Software-Engineering/Lecture-Material/blob/main/03_building_and_packaging/cpack_slides.md), [demo](https://github.com/Simulation-Software-Engineering/Lecture-Material/blob/main/03_building_and_packaging/cpack_demo.md)
80+
- **20** min.: More CMake Demo (preCICE and ccmake): [demo](https://github.com/Simulation-Software-Engineering/Lecture-Material/blob/main/03_building_and_packaging/cmake_more_demo.md)
81+
82+
## 8.2 – Wed, December 3, 2025
83+
84+
- **90** min.: [Exercise: Packaging with CPack](https://github.com/Simulation-Software-Engineering/Lecture-Material/blob/main/03_building_and_packaging/cpack_exercise.md)

0 commit comments

Comments
 (0)