Conceptos básicos y plantillas prácticas de CMake

CMake fundamentos y ejemplos prácticos.

¿Qué es CMake?

CMake es un generador de sistemas de compilación multiplataforma. Escribe CMakeLists.txt una vez y luego genera archivos de compilación específicos de la plataforma (Makefile, archivos Ninja, proyectos de Visual Studio y más).

En Linux, un flujo de trabajo típico es:

  1. Escriba CMakeLists.txt
  2. Generar sistema de construcción
  3. Construir
1
2
3
4
mkdir build
cd build
cmake ..
make

Plantilla 1: archivo de origen único

1
2
3
4
cmake_minimum_required(VERSION 3.5)
project(Demo1)

add_executable(demo1 test01.cpp)

Plantilla 2: múltiples archivos fuente

1
2
3
4
cmake_minimum_required(VERSION 3.5)
project(Demo2)

add_executable(demo2 main.cpp utils.cpp)

Plantilla 3: Incluir directorios + bibliotecas

1
2
3
4
5
6
cmake_minimum_required(VERSION 3.5)
project(Demo3)

include_directories(include)
add_executable(demo3 src/main.cpp src/foo.cpp)
target_link_libraries(demo3 pthread)

Estructura de proyecto recomendada

1
2
3
4
5
project/
  CMakeLists.txt
  src/
  include/
  build/

Consejos

  • Mantenga compilaciones fuera de la fuente (build/) para evitar contaminar el árbol fuente.
  • Utilice los comandos target_* (target_include_directories, target_link_libraries) para un estilo CMake moderno.
  • Fije una versión mínima de CMake para evitar sorpresas de compatibilidad.
记录并分享
Creado con Hugo
Tema Stack diseñado por Jimmy