cmake
Progetto gerarchico
Ricerca…
Approccio semplice senza pacchetti
Esempio che costruisce un eseguibile (editor) e collega una libreria (evidenziata) ad esso. La struttura del progetto è semplice, ha bisogno di un master CMakeLists e di una directory per ogni sottoprogetto:
CMakeLists.txt
editor/
CMakeLists.txt
src/
editor.cpp
highlight/
CMakeLists.txt
include/
highlight.h
src/
highlight.cpp
Il master CMakeLists.txt contiene le definizioni globali e la chiamata add_subdirectory
per ciascun sottoprogetto:
cmake_minimum_required(VERSION 3.0)
project(Example)
add_subdirectory(highlight)
add_subdirectory(editor)
CMakeLists.txt per la libreria assegna le fonti e include le directory. Usando target_include_directories()
invece di include_directories()
le directory di inclusione verranno propagate agli utenti della libreria:
cmake_minimum_required(VERSION 3.0)
project(highlight)
add_library(${PROJECT_NAME} src/highlight.cpp)
target_include_directories(${PROJECT_NAME} PUBLIC include)
CMakeLists.txt per l'applicazione assegna le fonti e collega la libreria di evidenziazione. I percorsi per il binario di hightlighter e include sono gestiti automaticamente da 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow