fil ~ ~ POS = TRUNC ~ ~ pos = headcomp

fil manipulation kommando.

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 kommer att skriva ett meddelande till en fil som heter ’filnamn’. Denöverskriver filen om den redan finns och skapar filen om den inte existerar. (Om filen är en build input, använd configure_file toupdate filen endast när dess innehåll ändras.)

APPEND kommer att skriva ett meddelande i en fil samma som WRITE, förutom att det willappend det till slutet av filen

READ kommer att läsa innehållet i en fil och lagra den i variabeln.Det börjar vid den givna förskjutningen och läses upp till numBytes. Om argument HEX ges, kommer binärdata att konverteras tillhexadecimal representation och detta kommer att lagras i variabeln.

MD5, SHA1, SHA224, SHA256, SHA384 och SHA512 beräknar akryptografisk hash av innehållet i en fil.

strängar kommer att tolka en lista över ASCII-strängar från en fil och lagra den ien variabel. Binära data i filen ignoreras. Carriage return(CR) – tecken ignoreras. Det fungerar också för Intel Hex och MotorolaS-record-filer, som automatiskt konverteras till binärt formatnär du läser dem. Inaktivera detta med NO_HEX_CONVERSION.

LIMIT_COUNT anger det maximala antalet strängar som ska returneras. LIMIT_INPUTsets det maximala antalet byte att läsa från indatafilen.LIMIT_OUTPUT ställer in det maximala antalet byte som ska lagras i outputvariable. LENGTH_MINIMUM ställer in minsta längden på en sträng toreturn. Kortare strängar ignoreras. LENGTH_MAXIMUM ställer in den maximala längden på en sträng som ska returneras. Längre strängar är uppdelade i strängarinte längre än den maximala längden. NEWLINE_CONSUME tillåter newlines tobe ingår i strängar i stället för att avsluta dem.

REGEX anger ett reguljärt uttryck som en sträng måste matcha till bereturned. Typisk användning

file(STRINGS myfile.txt myfile)

lagrar en lista i variabeln ”myfile” där varje objekt är en radfrån inmatningsfilen.

GLOB kommer att generera en lista över alla filer som matchar globbingexpressions och lagra den i variabeln. Globbing uttryck ärliknar reguljära uttryck, men mycket enklare. Om relativ flagga anges för ett uttryck, kommer resultaten att returneras som enlativ sökväg till den angivna sökvägen. (Vi rekommenderar inte att du använder GLOB för attsamla en lista med källfiler från ditt källkodsträd. Om noCMakeLists.txt-fil ändras när en källa läggs till eller tas bort då thegenerated byggsystem kan inte veta när man ska be CMake att regenerera.)

exempel på globbing uttryck inkluderar:

*.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 kommer att generera en lista som liknar den vanliga GLOB, förutomdet kommer att korsa alla underkataloger i den matchade katalogen ochmatcha filerna. Underkataloger som är symboliska länkar är bara traversedif FOLLOW_SYMLINKS ges eller cmake policy CMP0009 är inte inställd på ny.Se cmake-help-policy CMP0009 för mer information.

exempel på rekursiv globbing inkluderar:

/dir/*.py - match all python files in /dir and subdirectories

MAKE_DIRECTORY skapar de givna katalogerna, även om deras parentdirectories inte existerar ännu

Byt namn flyttar en fil eller katalog i ett filsystem, ersätter thedestination atomically.

REMOVE tar bort de givna filerna, även i underkataloger

REMOVE_RECURSE tar bort de givna filerna och katalogerna, ocksåicke-tomma kataloger

RELATIVE_PATH bestämmer relativ sökväg från katalogen till givenfile.

TO_CMAKE_PATH konverterar sökväg till en cmake-stilväg med unix /.Ingången kan vara en enda sökväg eller en systemväg som ”$env{PATH}”.Notera de dubbla citaten runt ENV-Anropet TO_CMAKE_PATH tar bara ett argument. Detta kommando konverterar också de ursprungliga listdelimiterna för en lista med sökvägar som PATH-miljövariabeln.

TO_NATIVE_PATH fungerar precis som TO_CMAKE_PATH, men kommer att konvertera från acmake style path till den ursprungliga sökvägen för windows och / forUNIX.

nedladdning hämtar den angivna webbadressen till den angivna filen. Om LOG var isspecified en logg över nedladdningen kommer att läggas i var. Om STATUS var ärspecificerad status för operationen kommer att sättas i var. Statusen returneras i en lista med längd 2. Det första elementet är det numeriskaåtergångsvärdet för operationen, och det andra elementet är en strängvärde för felet. Ett 0 numeriskt fel betyder inget fel ioperationen. Om TIMEOUT tid anges, kommer operationen timeout efter tid sekunder, bör tiden anges som ett heltal. TheINACTIVITY_TIMEOUT anger ett heltal antal sekunder avinaktivitet varefter operationen ska avslutas. IfEXPECTED_HASH ALGO = värde anges, kommer operationen att verifiera att den nedladdade filens faktiska hash matchar det förväntade värdet, varealgo är en av MD5, SHA1, SHA224, SHA256, SHA384 eller SHA512. Om det inte stämmer överens, misslyckas operationen med ett fel. (”EXPECTED_MD5sum ”är kort hand för”EXPECTED_HASH MD5=sum”.) Om SHOW_PROGRESS anges, kommer framstegsinformation att skrivas ut som statusmeddelandentills operationen är klar. För https-webbadresser måste CMake byggasmed OpenSSL. TLS / SSL-certifikat kontrolleras inte som standard. SetTLS_VERIFY till ON för att kontrollera certifikat och / eller använda EXPECTED_HASH toverify nedladdat innehåll. Ange TLS_CAINFO för att ange en customCertificate Authority-fil. Om något av TLS-alternativen inte ges Cmakekommer att kontrollera variablerna cmake_tls_verify respektive cmake_tls_cainfo.

UPLOAD laddar upp den angivna filen till den angivna webbadressen. Om LOG var isspecified en logg över uppladdningen kommer att läggas i var. Om STATUS var ärspecificerad status för operationen kommer att sättas i var. Statusen returneras i en lista med längd 2. Det första elementet är det numeriskaåtergångsvärdet för operationen, och det andra elementet är en strängvärde för felet. Ett 0 numeriskt fel betyder inget fel ioperationen. Om TIMEOUT tid anges, kommer operationen timeout efter tid sekunder, bör tiden anges som ett heltal. TheINACTIVITY_TIMEOUT anger ett heltal antal sekunder avinaktivitet varefter operationen ska avslutas. Omshow_progress anges, kommer förloppsinformationen att skrivas ut som statusmeddelanden tills åtgärden är klar.

tidsstämpel kommer att skriva en sträng representation av ändringen timeof filnamn till variabel.

om kommandot inte kan få en tidsstämpelvariabel kommer att vara inställd på den tomma strängen ””.

se dokumentation av underkommandot string TIMESTAMP för fler detaljer.

kommandot file() ger också kopiera och installera signaturer:

file(<COPY|INSTALL> files... DESTINATION <dir> ] )

kopiera signatur kopierar filer, kataloger och symboliska länkar till adestination mapp. Relativa inmatningsvägar utvärderas med avseende på den aktuella källkatalogen och en relativ destination utvärderas med avseende på den aktuella byggkatalogen. Kopiering bevarar inmatningsfilens tidsstämplar och optimerar ut en fil om den existsa på destinationen med samma tidsstämpel. Kopiering bevarar inputpermissions om inte uttryckliga behörigheter eller NO_SOURCE_PERMISSIONS aregiven (standard är USE_SOURCE_PERMISSIONS). Se kommandot installera(katalog) för dokumentation av behörigheter, mönster, REGEX och EXCLUDEoptions.

INSTALLATIONSSIGNATUREN skiljer sig något från kopia: den skriver ut statusmeddelanden och NO_SOURCE_PERMISSIONS är standard. Installationsskriptgenereras av kommandot install () använd denna signatur (med vissa dokumenterade alternativ för internt bruk).

generera kommer att skriva en<output_file> med innehåll från en<input_file >, eller från<input_content >. Utgången genererasvillkorligt baserat på innehållet i < – villkoret>. Filen skrivs på cmake generera-tid och ingången kan innehålla generatorexpressions. Villkoret <>, <output_file> och < input_file> kan också innehålla generatoruttryck. Villkoret < > måste utvärderas tillantingen ’ 0 ’eller ’ 1’. <output_file> måste utvärdera till ett unikt namnbland alla konfigurationer och bland alla anrop av fil(generera).

Lämna ett svar

Din e-postadress kommer inte publiceras.