Base CMake commands
- cmake_minimum_required
- project
- find_package
- add_subdirectory
- FetchContent
- add_library
- add_executable
- target_sources
- target_include_directories
- target_link_libraries
- set_property
- target_compile_definitions
- CTest
CMake Best Practices
- Use modern CMake
- Target and properties oriented approach
- Avoid variables
- Export interfaces, encapsulate the rest
- Use find_package to handle dependencies