forked from hakimel/reveal.js
-
Notifications
You must be signed in to change notification settings - Fork 0
Syllabus
David Zemon edited this page May 17, 2017
·
5 revisions
- Introduction to CMake
- Define the problem CMake is solving
- Quick comparison with some other common tools
- "Hello, world!"
- Create an executable
- Add a library
- Set global compiler flags
- User-configured
options - Build types (Release/Debug)
- Inheriting properties from dependencies
- Set compiler flags on targets
- Declaring dependencies
- BONUS: Graphviz for visual dependency tree
- In-Depth Syntax
- Variables
-
if&foreach - Generator Expressions
- Macros
- Functions
- Importing Dependencies:
find_packageFunction- General usage
- Custom packages
- Making use of exported targets
- Making use of
find_*functions:- find_file
- find_library
- find_path
- find_program
- Installing Software
-
install()Function - Exported targets
-
- Packaging Software
- Archive
- RPM & DEB
- NSIS (Windows *.exe format)
- Others...
- Miscellaneous
- Cross-compiling/Custom Toolchain files
- Generating files during CMake execution
- Custom targets
- Executing processes during CMake execution