filmanipuleringskommando.
file(WRITE filename "message to write"... )file(APPEND filename "message to write"... )file(READ filename variable )file(<MD5|SHA1|SHA224|SHA256|SHA384|SHA512> filename variable)file(STRINGS filename variable )file(GLOB variable ...)file(GLOB_RECURSE variable ...)file(RENAME <oldname> <newname>)file(REMOVE )file(REMOVE_RECURSE )file(MAKE_DIRECTORY )file(RELATIVE_PATH variable directory file)file(TO_CMAKE_PATH path result)file(TO_NATIVE_PATH path result)file(DOWNLOAD url file )file(UPLOAD filename url )file(TIMESTAMP filename variable )file(GENERATE OUTPUT output_file <INPUT input_file|CONTENT input_content> )
SKRIV vil skrive en melding til en fil som heter ‘filnavn’. Itoverwriter filen hvis den allerede finnes, og oppretter filen hvis den ikke finnes. (Hvis filen er en build input, bruk configure_file toupdate filen bare når innholdet endres.)
APPEND vil skrive en melding i en fil samme SOM WRITE, bortsett fra det willappend det til slutten av filen
READ vil lese innholdet i en fil og lagre den i variabelen.Det vil starte på gitt offset og lese opp til numBytes. Hvis theargument HEX er gitt, vil de binære dataene konverteres tilhexadesimal representasjon, og dette vil bli lagret i variabelen.
MD5, SHA1, SHA224, SHA256, SHA384 og SHA512 vil beregne acryptographic hash av innholdet i en fil.
STRENGER vil analysere en liste OVER ASCII-strenger fra en fil og lagre den i en variabel. Binære data i filen ignoreres. Vognretur (CR) tegn ignoreres. Det fungerer også For Intel Hex og MotorolaS-record-filer, som automatisk konverteres til binært format når du leser dem. Deaktiver dette ved HJELP AV NO_HEX_CONVERSION.
LIMIT_COUNT angir maksimalt antall strenger som skal returneres. Limit_inputsetter maksimalt antall byte som skal leses fra inngangsfilen.LIMIT_OUTPUT angir maksimalt antall byte som skal lagres i outputvariable. LENGTH_MINIMUM angir minimumslengden for en streng tilreturn. Kortere strenger ignoreres. LENGD_MAXIMUM angir maksimumslengden til en streng som skal returneres. Lengre strenger er delt inn i strengerikke lenger enn maksimal lengde. NEWLINE_CONSUME tillater newlines tobe inkludert i strenger i stedet for å avslutte dem.
REGEX angir et regulært uttrykk som en streng må samsvare med bereturned. Typisk bruk
file(STRINGS myfile.txt myfile)
lagrer en liste i variabelen «myfile» der hvert element er en linjefra inngangsfilen.
GLOB vil generere en liste over alle filer som samsvarer med globbingexpressions og lagre den i variabelen. Globbing uttrykk erligner på vanlige uttrykk, men mye enklere. HVIS RELATIV flagg er angitt for et uttrykk, vil resultatene bli returnert som arelativ bane til den angitte banen. (VI anbefaler ikke Å bruke GLOB tocollect en liste over kildefiler fra kildetreet ditt. Hvis noCMakeLists.txt-filen endres når en kilde er lagt til eller fjernet da thegenerated bygge systemet kan ikke vite når du skal spørre CMake å regenerere.)
Eksempler på globbing uttrykk inkluderer:
*.cxx - match all files with extension cxx*.vt? - match all files with extension vta,...,vtzf.txt - match files f3.txt, f4.txt, f5.txt
GLOB_RECURSE vil generere en liste som ligner på den vanlige GLOB, exceptit vil krysse alle underkataloger av matchet katalogen andmatch filene. Underkataloger som er symlinks er bare traversedihvis FOLLOW_SYMLINKS er gitt eller cmake policy CMP0009 er ikke satt TIL NY.Se cmake-help-policy CMP0009 for mer informasjon.
Eksempler på rekursiv globbing inkluderer:
/dir/*.py - match all python files in /dir and subdirectories
MAKE_DIRECTORY vil opprette de gitte kataloger, også hvis deres parentdirectories ikke eksisterer ennå
ENDRE navn flytter en fil eller katalog i et filsystem, erstatte thedestination atomically.
FJERN vil fjerne de gitte filene, også i underkataloger
REMOVE_RECURSE vil fjerne de gitte filene og katalogene, ogsåikke-tomme kataloger
RELATIVE_PATH vil bestemme relativ bane fra katalogen til gittfilen.
TO_CMAKE_PATH vil konvertere banen til en cmake stil bane med unix /.Inngangen kan være en enkelt bane eller en systembane som » $env{PATH}».Merk de doble anførselstegnene rundt ENV-anropet TO_CMAKE_PATH tar bare et argument. Denne kommandoen vil også konvertere de innfødte listelimiters for en liste over baner som PATH miljøvariabelen.
TO_NATIVE_PATH fungerer akkurat SOM TO_CMAKE_PATH, men vil konvertere fra acmake stil banen til den opprinnelige banen stil for windows og / forunix.
LAST NED vil laste NED DEN oppgitte NETTADRESSEN til den oppgitte filen. HVIS LOG var isspecified en logg av nedlastingen vil bli satt i var. HVIS STATUS var isspecified vil statusen for operasjonen bli satt i var. Statusis returnert i en liste over lengde 2. Det første elementet er talletreturverdi for operasjonen, og det andre elementet er en strengverdi for feilen. En 0 numerisk feil betyr ingen feil ioperasjon. Hvis TIDSAVBRUDDSTID er angitt, vil operasjonen tidsavbruddetter tid sekunder, bør tiden angis som et heltall. TheINACTIVITY_TIMEOUT angir et heltall sekunder ofinactivity etter som operasjonen skal avslutte. IfEXPECTED_HASH ALGO=verdi er angitt, vil operasjonen bekrefte at den nedlastede filens faktiske hash samsvarer med forventet verdi, hvoralgo er EN AV MD5, SHA1, SHA224, SHA256, SHA384 eller SHA512. Hvis det ikke samsvarer, mislykkes operasjonen med en feil. («EXPECTED_MD5sum» er kort hånd for «EXPECTED_HASH MD5=sum».) HVIS SHOW_PROGRESS isspecified, vil fremdriftsinformasjon skrives ut som statusmeldinger inntil operasjonen er fullført. For https-Nettadresser Må CMake byggesmed OpenSSL. TLS / SSL-sertifikater er ikke merket som standard. SetTLS_VERIFY til ON for å sjekke sertifikater og / eller bruke EXPECTED_HASH toverify nedlastet innhold. Angi TLS_CAINFO for å angi en customCertificate Authority-fil. Hvis ENTEN tls alternativet ikke er gitt CMakewill sjekke variablene cmake_tls_verify og CMAKE_TLS_CAINFO,henholdsvis.
UPLOAD vil laste opp den gitte filen til DEN gitte NETTADRESSEN. HVIS LOG var isspecified en logg av opplastingen vil bli satt i var. HVIS STATUS var isspecified vil statusen for operasjonen bli satt i var. Statusis returnert i en liste over lengde 2. Det første elementet er talletreturverdi for operasjonen, og det andre elementet er en strengverdi for feilen. En 0 numerisk feil betyr ingen feil ioperasjon. Hvis TIDSAVBRUDDSTID er angitt, vil operasjonen tidsavbruddetter tid sekunder, bør tiden angis som et heltall. TheINACTIVITY_TIMEOUT angir et heltall sekunder ofinactivity etter som operasjonen skal avslutte. IfSHOW_PROGRESS er angitt, vil fremdriftsinformasjon skrives ut som statusmeldinger til operasjonen er fullført.
TIDSSTEMPEL vil skrive en streng representasjon av endringen timeof filnavn til variabel.
hvis kommandoen ikke kan hente en tidsstempelvariabel, vil den tomme strengen «».
Se dokumentasjon av underkommandoen string TIMESTAMP for flere detaljer.
kommandoen fil() inneholder OGSÅ KOPIER og INSTALLER signaturer:
file(<COPY|INSTALL> files... DESTINATION <dir> ] )
KOPIER signaturen kopierer filer, kataloger og symlinker til adestination-mappen. Relative inndatabaner evalueres med respectto gjeldende kilde katalogen, og en relativ mål isevaluated med hensyn til gjeldende bygge katalogen. Copyingpreserves input fil tidsstempler, og optimaliserer ut en fil hvis det existsat målet med samme tidsstempel. Kopiering bevarer inputpermissions med mindre eksplisitte tillatelser eller no_source_permissions aregiven (standard ER USE_SOURCE_PERMISSIONS). Se install (DIRECTORY)kommandoen for dokumentasjon av tillatelser, MØNSTER, REGEX, Og EXCLUDEoptions.
INSTALLASJONSSIGNATUREN er litt forskjellig FRA KOPI: den skriver ut statusmeldinger, OG no_source_permissions er standard. Installasjonsskriptgenerert av install () – kommandoen bruk denne signaturen (med someundocumented alternativer for intern bruk).
GENERER vil skrive en<output_file> med innhold fra en<input_file >, eller fra<input_content >. Utgangen er generatedconditionally basert på innholdet i betingelsen < >. Filen iswritten På CMake generere-tid og inngangen kan inneholde generatorexpressions. Betingelsen < >,<output_file > og<input_file > kan også inneholde generatoruttrykk. Betingelsen < > må evaluere toeither ‘ 0 ‘eller ‘ 1’. Output_file < > må evalueres til et unikt navn blant alle konfigurasjoner og blant alle invokasjoner av fil (GENERER).