Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Adding Multiple Sources | Project Structure and Organization
Quizzes & Challenges
Quizzes
Challenges
/
Introduction to CMake

bookAdding Multiple Sources

As your project grows, it is common to split your code into multiple files to keep it organized and easier to maintain. In CMake, you add all the source files that belong to your program inside the add_executable command.

In this example, main.c contains the program entry point, while helper.c contains supporting functions. Both files are compiled and linked into a single executable by CMake.

main.c

main.c

helper.c

helper.c

helper.h

helper.h

CMakeLists.txt

CMakeLists.txt

copy
1234567
#include <stdio.h> #include "helper.h" int main() { print_message(); return 0; }

When working with multiple source files, functions shared between files must be declared in header files. In this example, the function print_message() is declared in helper.h and implemented in helper.c. Including the header file allows main.c to use the function correctly.

In CMakeLists.txt, you list every source file that should be compiled:

  • CMake compiles each .c or .cpp file separately.
  • The linker combines them into one executable.
  • Header files are not compiled but tell the compiler how functions and data are defined.

CMake handles the build process automatically, but it is your responsibility to manage function declarations using header files.

question mark

How do you specify multiple source files for an executable in CMakeLists.txt?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 2

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

Can you show me an example of how to declare and use a function in a header file?

What should I do if I have more than two source files?

How do I organize my header and source files in a larger project?

bookAdding Multiple Sources

Sveip for å vise menyen

As your project grows, it is common to split your code into multiple files to keep it organized and easier to maintain. In CMake, you add all the source files that belong to your program inside the add_executable command.

In this example, main.c contains the program entry point, while helper.c contains supporting functions. Both files are compiled and linked into a single executable by CMake.

main.c

main.c

helper.c

helper.c

helper.h

helper.h

CMakeLists.txt

CMakeLists.txt

copy
1234567
#include <stdio.h> #include "helper.h" int main() { print_message(); return 0; }

When working with multiple source files, functions shared between files must be declared in header files. In this example, the function print_message() is declared in helper.h and implemented in helper.c. Including the header file allows main.c to use the function correctly.

In CMakeLists.txt, you list every source file that should be compiled:

  • CMake compiles each .c or .cpp file separately.
  • The linker combines them into one executable.
  • Header files are not compiled but tell the compiler how functions and data are defined.

CMake handles the build process automatically, but it is your responsibility to manage function declarations using header files.

question mark

How do you specify multiple source files for an executable in CMakeLists.txt?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 2
some-alt