Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 92 additions & 0 deletions 00_organization/organizational_remarks_week8_slides.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
---
type: slide
slideOptions:
transition: slide
width: 1400
height: 900
margin: 0.1
data-background-color: green
---

<style>
.reveal strong {
font-weight: bold;
color: orange;
}
.reveal p {
text-align: left;
}
.reveal section h1 {
color: orange;
}
.reveal section h2 {
color: orange;
}
.reveal code {
font-family: 'Ubuntu Mono';
color: orange;
}
.reveal section img {
background:none;
border:none;
box-shadow:none;
}
</style>

# Organizational Things Week 8

---

## Time Table

<style>
td {
font-size: 35px
}
</style>

| Date | Type | Chapter | Topic | Lecturer |
| ---- | ---- | ------- |------ | -------- |
| 12.11. |Lecture | 3 | Intro packaging, Python packaging | Ishaan |
| 12.11. |Lab | 3 | Python packaging | Ishaan |
| 19.11. |Lecture | 3 | Linux fundamentals, Make, CMake | Gerasimos |
| 19.11. |Lab | 3 | CMake and Docker | Gerasimos |
| 26.11. |Lecture | 3 | Spack | Ishaan |
| 26.11. |Lab | 3 | Spack | Ishaan |
| **03.12.** |**Lecture** | **3** | **CPack and more CMake** | **Benjamin** |
| 03.12. |Lab | 3 | CPack | Benjamin |
| 10.12. |Lecture | 4 | Technical writing | Gerasimos |
| 10.12. |Lab | 4 | Code review | Gerasimos |
| 17.12. |Presentations | C | **2nd student presentations** | students |
| 17.12. |Presentations | C | **2nd student presentations** | students |

---

## Exam Registration

- You have to register for exam (we cannot do this for you)
- Campus deadline should be today

---

## Challenge First Report: MR Feedback

- Try to write good MR titles and descriptions
- Resolve threads when comments are answered, done, or dropped
- If changes requested: try to fix in same MR
- Approval by reviewer: ready to merge
- All MRs should get merged
- You have to make usage of generative AI transparent

---

## Challenge Contribution

- 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.
- Deadline (for opening the issue): Dec 17, 2025, 23:59
- If you open earlier, you get feedback earlier
- Latest feedback from supervisors: Jan 7, 2025, 09:45
- Title of issue: "Contribution to SOFTWARE by USERNAME"
- Tag your supervisor in description
- Get in touch with maintainers early (through official channels)
- Discuss before you start developing
3 changes: 2 additions & 1 deletion 03_building_and_packaging/cmake_more_demo.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
- `tree cmake`
- If software should be usable (for everybody everywhere), building and packaging is a project by itself
- In `modules`: some `FindX.cmake`, partially third-party, partially developed by preCICE devs
- In `CMakeLists.txt`: `sources.cmake` included (around line 510)
- In `CMakeLists.txt`: `sources.cmake` included (around line 553)
- No glob, but generated externally (some python script)
- Look at `src/sources.cmake`
- Look at `CPackConfig.cmake`
Expand All @@ -18,6 +18,7 @@

- There are many tools around CMake, `ccmake` is also developed by KitWare
- Separate package on Ubuntu: `sudo apt-get install cmake-curses-gui`
- 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).
- Delete previous build folder and start from scratch
- `ccmake ..`
- `[c]` if not yet configured before
Expand Down
2 changes: 1 addition & 1 deletion 03_building_and_packaging/cpack_demo.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ Example code is in [`03_building_and_packaging/examples/cpack`](https://github.c
- `cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release ..` and `cpack -G DEB` ... no complaints
- Different package name: `helloworld_0.1.0_amd64.deb`
- Install the package: `apt install ./helloworld_0.1.0_amd64.deb`
- `helloworld` and `which helloworld`: now `/usr`, not `/usr/local`, since we use package manager.
- `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).

## Check Debian Package

Expand Down
4 changes: 2 additions & 2 deletions 03_building_and_packaging/cpack_exercise.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

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

Deadline: **December 11, 2024, 9:00**
Deadline: **December 10, 2025, 9:00**

## Overview

- 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.
- 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.
- 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`.
- 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).

Expand Down
24 changes: 24 additions & 0 deletions 03_building_and_packaging/examples/ccmake/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
From ubuntu:24.04

RUN apt-get -qq update && \
apt-get -qq -y install \
build-essential \
cmake \
g++ \
vim \
tree \
git \
cmake-curses-gui \
libeigen3-dev \
libxml2-dev \
libboost-all-dev \
petsc-dev \
python3-dev \
python3-numpy

# This is some strang Docker problem. Normally, you don't need to add /usr/local/lib to LD_LIBRARY_PATH
ENV LD_LIBRARY_PATH $LD_LIBRARY_PATH:/usr/local/lib/

RUN git clone https://github.com/precice/precice.git

CMD ["/bin/bash"]
10 changes: 10 additions & 0 deletions timetable.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,3 +72,13 @@
## 7.2 – Wed, November 26, 2025

- **90** min.: [Exercise: Packaging with Spack](https://github.com/Simulation-Software-Engineering/Lecture-Material/blob/main/03_building_and_packaging/spack_exercise.md)

## 8.1 – Wed, December 3, 2025

- **5** min.: Organizational remarks: [slides](https://github.com/Simulation-Software-Engineering/Lecture-Material/blob/main/00_organization/organizational_remarks_week8_slides.md)
- **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)
- **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)

## 8.2 – Wed, December 3, 2025

- **90** min.: [Exercise: Packaging with CPack](https://github.com/Simulation-Software-Engineering/Lecture-Material/blob/main/03_building_and_packaging/cpack_exercise.md)