Articles

Hvad er et “projekt”i cmake?

et projekt grupperer logisk et antal mål (dvs.biblioteker, eksekverbare filer og brugerdefinerede byggetrin) i en selvstændig samling, der kan bygges alene.

i praksis betyder det, at hvis du har en project kommando i en CMakeLists.txt, skal du kunne køre CMake fra den fil, og generatoren skal producere noget, der kan bygges. I de fleste kodebaser har du kun et enkelt projekt pr.

Bemærk dog, at du kan rede flere projekter. Et projekt på øverste niveau kan omfatte en undermappe, som igen er et andet selvstændigt projekt. I dette tilfælde introducerer kommandoen project yderligere scoping for bestemte værdier. For eksempel vil variablen PROJECT_BINARY_DIR altid pege på det binære rodkatalog for det aktuelle projekt. Sammenlign dette med CMAKE_BINARY_DIR, som altid peger på den binære mappe på topniveau-projektet. Bemærk også, at visse generatorer kan generere yderligere filer til projekter. For eksempel vil Visual Studio generatorer oprette en .sln løsningsfil for hvert underprojekt.

brug delprojekter, hvis din kodebase er meget kompleks, og du har brug for, at brugerne kan opbygge visse komponenter isoleret. Dette giver dig en meget kraftfuld mekanisme til strukturering af byggesystemet. På grund af den øgede kodning og vedligeholdelsesomkostninger, der kræves for at gøre de mange delprojekter virkelig selvstændige, vil jeg råde til kun at gå ned ad den vej, hvis du har en reel brugssag til det. Opdeling af kodebasen i forskellige mål bør altid være den foretrukne mekanisme til strukturering af bygningen, mens delprojekter bør reserveres til de sjældne tilfælde, hvor du virkelig har brug for at lave en delmængde af mål selvstændig.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.