cmake
Hierarchiczny projekt
Szukaj…
Proste podejście bez pakietów
Przykład budujący plik wykonywalny (edytor) i łączący z nim bibliotekę (wyróżnienie). Struktura projektu jest prosta, potrzebuje głównego CMakeLists i katalogu dla każdego podprojektu:
CMakeLists.txt
editor/
CMakeLists.txt
src/
editor.cpp
highlight/
CMakeLists.txt
include/
highlight.h
src/
highlight.cpp
Główny add_subdirectory
zawiera definicje globalne i wywołanie add_subdirectory
dla każdego podprojektu:
cmake_minimum_required(VERSION 3.0)
project(Example)
add_subdirectory(highlight)
add_subdirectory(editor)
CMakeLists.txt dla biblioteki przypisuje źródła i dołącza do niej katalogi. Za pomocą target_include_directories()
zamiast include_directories()
target_include_directories()
dołączania zostaną rozpowszechnione wśród użytkowników biblioteki:
cmake_minimum_required(VERSION 3.0)
project(highlight)
add_library(${PROJECT_NAME} src/highlight.cpp)
target_include_directories(${PROJECT_NAME} PUBLIC include)
CMakeLists.txt dla aplikacji przypisuje źródła i łączy bibliotekę wyróżnień. Ścieżki do plików binarnych i hightlighterów są obsługiwane automatycznie przez 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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow