Useful Links
Computer Science
Other Tools and Technologies
CMake Build System
1. Introduction to Build Systems and CMake
2. Getting Started with CMake
3. CMake Language Fundamentals
4. Projects, Targets, and Properties
5. Managing Dependencies
6. Build Configuration and Toolchains
7. Advanced CMake Topics
8. Testing with CTest
9. Packaging with CPack
10. CMake Best Practices and Patterns
Build Configuration and Toolchains
Build Types
Standard Configurations
Debug Configuration
Release Configuration
RelWithDebInfo Configuration
MinSizeRel Configuration
Setting the Build Type
CMAKE_BUILD_TYPE Variable
Command-Line Options
Default Build Type
Multi-Configuration Generators
Visual Studio Generators
Xcode Generator
Configuration Selection
Per-Configuration Properties
Setting Properties for Each Build Type
Configuration-Specific Variables
Compiler and Linker Configuration
Global Compiler Flags
CMAKE_C_FLAGS Variable
CMAKE_CXX_FLAGS Variable
Language-Specific Flags
Global Linker Flags
CMAKE_EXE_LINKER_FLAGS Variable
CMAKE_SHARED_LINKER_FLAGS Variable
CMAKE_STATIC_LINKER_FLAGS Variable
Per-Configuration Flags
CMAKE_CXX_FLAGS_DEBUG Variable
CMAKE_CXX_FLAGS_RELEASE Variable
Other Configuration Variables
Compiler Detection
CMAKE_C_COMPILER_ID Variable
CMAKE_CXX_COMPILER_ID Variable
Compiler-Specific Logic
Cross-Compilation
Cross-Compilation Concepts
Host vs. Target Platforms
Cross-Compilation Challenges
Toolchain Files
Purpose of Toolchain Files
Structure of a Toolchain File
CMAKE_TOOLCHAIN_FILE Variable
System Information
CMAKE_SYSTEM_NAME Variable
CMAKE_SYSTEM_PROCESSOR Variable
CMAKE_SYSTEM_VERSION Variable
Specifying Compilers and Tools
CMAKE_C_COMPILER Variable
CMAKE_CXX_COMPILER Variable
CMAKE_ASM_COMPILER Variable
CMAKE_AR Variable
CMAKE_RANLIB Variable
Find Root Path
CMAKE_FIND_ROOT_PATH Variable
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
Sysroot Configuration
CMAKE_SYSROOT Variable
Cross-Compilation Examples
Previous
5. Managing Dependencies
Go to top
Next
7. Advanced CMake Topics