cmake
Hierarkiskt projekt
Sök…
Enkel metod utan paket
Exempel som bygger en körbar (redigerare) och länkar ett bibliotek (höjdpunkt) till det. Projektstrukturen är enkel, den behöver en master CMakeLists och en katalog för varje delprojekt:
CMakeLists.txt
editor/
CMakeLists.txt
src/
editor.cpp
highlight/
CMakeLists.txt
include/
highlight.h
src/
highlight.cpp
Master CMakeLists.txt innehåller globala definitioner och add_subdirectory
samtal för varje delprojekt:
cmake_minimum_required(VERSION 3.0)
project(Example)
add_subdirectory(highlight)
add_subdirectory(editor)
CMakeLists.txt för biblioteket tilldelar källor och inkluderar kataloger till det. Genom att använda target_include_directories()
istället för include_directories()
omfatta dirs att spridas till biblioteksanvändare:
cmake_minimum_required(VERSION 3.0)
project(highlight)
add_library(${PROJECT_NAME} src/highlight.cpp)
target_include_directories(${PROJECT_NAME} PUBLIC include)
CMakeLists.txt för applikationen tilldelar källor och länkar höjdbiblioteket. Vägar till tändlinsens binära och inkluderade hanteras automatiskt med 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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow