cmake
Proyecto jerárquico
Buscar..
Enfoque sencillo sin paquetes.
Ejemplo que crea un ejecutable (editor) y vincula una biblioteca (resaltado) a él. La estructura del proyecto es sencilla, necesita un CMakeLists maestro y un directorio para cada subproyecto:
CMakeLists.txt
editor/
CMakeLists.txt
src/
editor.cpp
highlight/
CMakeLists.txt
include/
highlight.h
src/
highlight.cpp
El maestro CMakeLists.txt contiene definiciones globales y la llamada add_subdirectory
para cada subproyecto:
cmake_minimum_required(VERSION 3.0)
project(Example)
add_subdirectory(highlight)
add_subdirectory(editor)
CMakeLists.txt para la biblioteca asigna orígenes e incluye directorios. Al usar target_include_directories()
lugar de include_directories()
los directorios de inclusión se propagarán a los usuarios de la biblioteca:
cmake_minimum_required(VERSION 3.0)
project(highlight)
add_library(${PROJECT_NAME} src/highlight.cpp)
target_include_directories(${PROJECT_NAME} PUBLIC include)
CMakeLists.txt para la aplicación asigna fuentes y vincula la biblioteca de resaltado. Las rutas al binario de hightlighter e incluyen se manejan automáticamente por cmake:
cmake_minimum_required(VERSION 3.0)
project(editor)
add_executable(${PROJECT_NAME} src/editor.cpp)
target_link_libraries(${PROJECT_NAME} PUBLIC highlight)
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow