Speaker
Nicolas Potvin
(ULB département informatique)
Description
Building scientific software often involves much more than invoking a compiler. As projects grow, managing dependencies, libraries, compilation options, and multiple source files can quickly become complex and error-prone. This session introduces modern build systems and teaches how to automate the compilation process using Make and CMake, from small personal projects to larger research software.
| Contents | Information |
|---|---|
| • Writing a minimal Makefile for small projects • Reading and understanding more advanced Makefiles • Managing dependencies and multi-file projects • Automating build configuration with CMake • Using CMake for medium and large software projects • Handling external libraries and package discovery • Managing environment variables and build options • Parametrizing code and features at compile time • Best practices for portable and maintainable build systems |
Prerequisite: • Basic knowledge of compilers • Basic knowledge of compiled languages (e.g. C, C++, Fortran) • Being familiar with Linux • Being familiar with a text editor Type: Hands-on Target audience: Anyone needing to compile or develop software projects. Must: Strongly recommended for users developing, modifying, or compiling scientific software. |
| `` |