El comando add_subdirectory
en CMake permite incluir y configurar directorios adicionales dentro de un proyecto, habilitando la construcción modular y organizada de aplicaciones. Es esencial para manejar proyectos grandes que contienen múltiples módulos o bibliotecas.
add_subdirectory
en CMake?
add_subdirectory
se utiliza para agregar un subdirectorio al árbol de compilación. Este comando indica a CMake que procese el archivo CMakeLists.txt
ubicado en el subdirectorio especificado. Esto permite dividir un proyecto en partes más pequeñas, manteniendo configuraciones separadas para cada módulo.
add_subdirectory
add_subdirectory(<source_dir> [binary_dir] [EXCLUDE_FROM_ALL])
Parámetro | Descripción |
---|---|
<source_dir>
|
Ruta al directorio que contiene el CMakeLists.txt que se desea incluir.
|
binary_dir]
|
(Opcional) Ruta donde se generarán los archivos de compilación del subdirectorio. |
EXCLUDE_FROM_ALL
|
(Opcional) Si se incluye, evita que los objetivos del subdirectorio se incluyan en la metaetapa "all". |
Project/
├── CMakeLists.txt
├── src/
│ ├── CMakeLists.txt
│ ├── main.cpp
└── lib/
├── CMakeLists.txt
├── library.cpp
├── library.h
CMakeLists.txt
en el directorio raíz:
cmake_minimum_required(VERSION 3.0)
project(MyProject)
add_subdirectory(src)
add_subdirectory(lib)
CMakeLists.txt
en src/
:
add_executable(MyApp main.cpp)
target_link_libraries(MyApp MyLibrary)
CMakeLists.txt
en lib/
:
add_library(MyLibrary library.cpp library.h)
MyApp
) que utiliza una biblioteca (MyLibrary
).
Para más información, consulta la documentación oficial de CMake.
Jorge García
Fullstack developer