filkrus

Filmanipulationskommando.

file(WRITE <filename> <content>...)file(APPEND <filename> <content>...)

skriv <content> i en fil kaldet <filename>. Hvis filen ikke findes, oprettes den. Hvis filen allerede findes, overskriver WRITE – tilstanden den, og APPEND – tilstanden tilføjes til slutningen.Eventuelle mapper i stien angivet af <filename>, der ikke gør deteksisterer vil blive oprettet.

hvis filen er et build-input, skal du bruge kommandoen configure_file()for kun at opdatere filen, når dens indhold ændres.

file(READ <filename> <variable> )

Læs indhold fra en fil kaldet <filename> og gem den i en<variable>. Start eventuelt fra den givne <offset> oglæs højst <max-in> bytes. Indstillingen HEX får data til at blive konverteret til en seksadecimal repræsentation (nyttig til binære data).

file(STRINGS <filename> <variable> )

Parse en liste over ASCII strenge fra <filename> og gemme det i<variable>. Binære data i filen ignoreres. Vognretur (\r, CR) tegn ignoreres. Mulighederne er:

LENGTH_MAXIMUM <max-len>

overvej kun strenge af højst en given længde.

LENGTH_MINIMUM <min-len>

overvej kun strenge af mindst en given længde.

LIMIT_COUNT <max-num>

Begræns antallet af forskellige strenge, der skal ekstraheres.

LIMIT_INPUT <max-in>

Begræns antallet af inputbytes, der skal læses fra filen.

LIMIT_OUTPUT <max-out>

Begræns antallet af samlede bytes, der skal gemmes i <variable>.

NEWLINE_CONSUME

behandl nylinjetegn (\n, LF) som en del af strengindholdi stedet for at afslutte dem.

NO_HEX_CONVERSION

Intel sekskant-og Motorola s-record-filer konverteres automatisk tilbinary under læsning, medmindre denne indstilling er givet.

REGEX <regex>

overvej kun strenge, der matcher det givne regulære udtryk.

ENCODING <encoding-type>

overvej strenge af en given kodning. Aktuelt understøttede kodninger er: UTF-8, UTF-16le, UTF-16be, UTF-32le, UTF-32be. Hvis KODNINGSINDSTILLINGENER ikke angivet, og filen har et Byte-Ordremærke, KODNINGSINDSTILLINGENVIL blive standardiseret for at respektere Byte-Ordremærket.

for eksempel koden

file(STRINGS myfile.txt myfile)

gemmer en liste i variablen myfile, hvor hvert element er en linjefra inputfilen.

file(<HASH> <filename> <variable>)

Beregn en kryptografisk hash af indholdet af <filename> andstore det i en <variable>. De understøttede<HASH>algoritmenavner dem, der er angivet af kommandoen string (<HASH >).

file(GLOB <variable> )file(GLOB_RECURSE <variable> )

Generer en liste over filer, der matcher <globbing-expressions> ogopbevares i <variable>. Globbing udtryk lignerregelmæssige udtryk, men meget enklere. Hvis RELATIVE flag isspecified, vil resultaterne blive returneret som relative stier til den givne sti. Resultaterne vil blive bestilt leksikografisk.

som standard GLOB lister mapper – mapper udelades i resultat, hvisLIST_DIRECTORIES er indstillet til falsk.

Bemærk

vi anbefaler ikke at bruge GLOB til at indsamle en liste over kildefiler fradit kildetræ. Hvis ingen CMakeLists.når en kilde tilføjes eller fjernes, kan det genererede build-system ikke vide, hvornår Toask CMake skal regenerere.

eksempler på globbing udtryk omfatter:

*.cxx - match all files with extension cxx*.vt? - match all files with extension vta,...,vtzf.txt - match files f3.txt, f4.txt, f5.txt

tilstanden GLOB_RECURSE vil krydse alle undermapper i den matchede mappe og matche filerne. Undermapper, der er symlinksare kun gennemkøres, hvis FOLLOW_SYMLINKS er givet eller politikCMP0009er ikke indstillet til NEW.

som standard GLOB_RECURSE udelader mapper fra resultatliste – indstillingLIST_DIRECTORIES til true tilføjer mapper til resultatliste.Hvis FOLLOW_SYMLINKS er angivet, eller politik CMP0009 ikke er indstillet tilOLD, behandler LIST_DIRECTORIES symlinks som mapper.

eksempler på rekursiv globbing inkluderer:

/dir/*.py - match all python files in /dir and subdirectories
file(RENAME <oldname> <newname>)

Flyt en fil eller mappe i et filsystem fra <oldname> til<newname>, og udskift destinationen atomisk.

file(REMOVE )file(REMOVE_RECURSE )

fjern de givne filer. Tilstanden REMOVE_RECURSE fjerner givenfiler og mapper, også ikke-tomme mapper. Der udsendes ingen fejl, hvis agiven-filen ikke findes.

file(MAKE_DIRECTORY )

Opret de givne mapper og deres forældre efter behov.

file(RELATIVE_PATH <variable> <directory> <file>)

Beregn den relative sti fra en <directory> til en <file>andstore det i <variable>.

file(TO_CMAKE_PATH "<path>" <variable>)file(TO_NATIVE_PATH "<path>" <variable>)

tilstanden TO_CMAKE_PATH konverterer en indfødt <path>til en CMake-stylepath med fremadrettede skråstreger (/). Indgangen kan være en enkelt sti eller asystem søgesti som $ENV{PATH}. En søgesti vil blive konverterettil en CMake-stil liste adskilt af ; tegn.

tilstanden TO_NATIVE_PATH konverterer en cmake-stil<path> til en nativepath med platformspecifikke skråstreger (\ på vinduer og / andetsteds).

Brug altid dobbelt citater omkring <path> for at være sikker på, at det behandles som et enkelt argument til denne kommando.

file(DOWNLOAD <url> <file> )file(UPLOAD <file> <url> )

tilstanden DOWNLOAD henter den givne <url>til en lokal <file>.Tilstanden UPLOAD uploader en lokal <file>til en given <url>.

valg til både DOWNLOAD og UPLOAD er:

INACTIVITY_TIMEOUT <seconds>

afslut operationen efter en periode med inaktivitet.

LOG <variable>

Opbevar en menneskelig læsbar log over operationen i en variabel.

SHOW_PROGRESS

Udskriv statusoplysninger som statusmeddelelser, indtil operationen er afsluttet.

STATUS <variable>

gem den resulterende status for operationen i en variabel.Status er en ; adskilt liste over længde 2.Det første element er den numeriske returværdi for operationen,og det andet element er en strengværdi for fejlen.En numerisk fejl 0 betyder ingen fejl i operationen.

TIMEOUT <seconds>

afslut operationen efter en given total tid er gået.

USERPWD <username>:<password>

Indstil brugernavn og adgangskode til drift.

HTTPHEADER <HTTP-header>

HTTP header til drift. Suboption kan gentages flere gange.

yderligere muligheder til DOWNLOAD er:

EXPECTED_HASH ALGO=<value>

Kontroller, at den hentede indholdshash matcher den forventede værdi, hvorALGO er en af algoritmerne understøttet af file(<HASH>).Hvis det ikke stemmer overens, fejler operationen med en fejl.

EXPECTED_MD5 <value>

historisk kort hånd til EXPECTED_HASH MD5=<value>.

TLS_VERIFY <ON|OFF>

Angiv, om servercertifikatet skal verificeres for https:// URL ‘ er.Standard er ikke at verificere.

TLS_CAINFO <file>

Angiv en brugerdefineret Certifikatmyndighedsfil for https:// URL ‘ er.

til https:// URL ‘ er CMake skal bygges med OpenSSL-understøttelse. TLS/SSL certifikater er ikke markeret som standard. Indstil TLS_VERIFY til ON tocheck certifikater og/eller brug EXPECTED_HASH til at bekræfte hentet indhold.Hvis hverken TLS valgmulighed er givet CMake vil kontrollere variablerCMAKE_TLS_VERIFY og CMAKE_TLS_CAINFO, hhv.

file(TIMESTAMP <filename> <variable> )

Beregn en strengrepræsentation af modifikationstiden på <filename>og gem den i <variable>. Skulle kommandoen ikke være i stand til at opnå atimestamp variabel vil blive indstillet til den tomme streng (“”).

se kommandoen string(TIMESTAMP) for dokumentation af <format> og UTC indstillinger.

file(GENERATE OUTPUT output-file <INPUT input-file|CONTENT content> )

Generer en outputfil for hver build-konfiguration, der understøttes af den aktuelleCMake Generator. Evaluergenerator expressionsfra inputindholdet for at producere outputindholdet. Mulighederne er:

CONDITION <condition>

Generer kun outputfilen til en bestemt konfiguration, hvisbetingelsen er sand. Betingelsen skal være enten 0 eller 1efter evaluering af generatorudtryk.

CONTENT <content>

brug det angivne indhold eksplicit som input.

INPUT <input-file>

brug indholdet fra en given fil som input.En relativ sti behandles med hensyn til værdien afCMAKE_CURRENT_SOURCE_DIR. Se Politik CMP0070.

OUTPUT <output-file>

angiv det outputfilnavn, der skal genereres. Brug generatorudtryksåsom $<CONFIG> for at angive et konfigurationsspecifikt outputfilnavn. Flere konfigurationer kan kun generere den samme outputfilhvis det genererede indhold er identisk. Ellers skal <output-file>evalueres til et unikt navn for hver konfiguration.En relativ sti (efter evaluering af generatorudtryk) behandlesmed hensyn til værdien af CMAKE_CURRENT_BINARY_DIR.Se Politik CMP0070.

præcis en CONTENT eller INPUT mulighed skal gives. En specifikOUTPUT fil kan navngives ved højst en påkaldelse af file(GENERATE).Genererede filer ændres, og deres tidsstempel opdateres kun på efterfølgende cmakeruns, hvis deres indhold ændres.

Bemærk også, at file(GENERATE) ikke opretter outputfilen førgenerationsfasen. Outputfilen er endnu ikke skrevet, når kommandoenfile(GENERATE) vender tilbage, den skrives først efter behandling af allof et projekts CMakeLists.txt filer.

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

signaturen COPY kopierer filer, mapper og symlinks til adestination-mappen. Relative inputstier evalueres med hensyn til den aktuelle kildekatalog, og en relativ destination evalueres med hensyn til den aktuelle build-mappe. Copyingpresserves input fil tidsstempler, og optimerer ud en fil, hvis den eksistererpå destinationen med samme tidsstempel. Kopiering bevarer inputpermissions, medmindre udtrykkelige tilladelser eller NO_SOURCE_PERMISSIONSer givet (standard er USE_SOURCE_PERMISSIONS).

se kommandoen install(DIRECTORY) for dokumentation af tilladelser, FILES_MATCHING, PATTERN, REGEX, ogEXCLUDE indstillinger. Kopiering af mapper bevarer strukturenaf deres indhold, selvom indstillinger bruges til at vælge en delmængde affiler.

signaturen INSTALL adskiller sig lidt fra COPY: den udskriverstatusmeddelelser (underlagt variablen CMAKE_INSTALL_MESSAGE), og NO_SOURCE_PERMISSIONS er standard.Installationsskripter genereret af kommandoen install() brug denne signatur (med nogle udokumenterede muligheder til intern brug).

file(LOCK <path> )

Lås en fil angivet af <path> hvis nej DIRECTORY valgmulighed til stede og fil<path>/cmake.lock ellers. Filen vil blive låst for omfang defineret af GUARD option (standardværdi er PROCESS). RELEASE mulighed kan brugesat låse filen op eksplicit. Hvis indstillingen TIMEOUT ikke er angivet, vil CMake vente, indtil låsen lykkes, eller indtil der opstår fatal fejl. Hvis TIMEOUT er indstillet til0 lock vil blive prøvet en gang, og resultatet vil blive rapporteret med det samme. HvisTIMEOUT ikke er 0 vil CMake forsøge at låse filen for den periode, der er angivet ved <seconds> værdi. Eventuelle fejl vil blive fortolket som fatale, hvis der ikke er nogenRESULT_VARIABLE mulighed. Ellers vil resultatet blive gemt i <variable> og vil være 0 på succes eller fejlmeddelelse om fejl.

Bemærk, at lock er rådgivende – der er ingen garanti for, at andre processer vil respektere denne lås, dvs.lås Synkroniser to eller flere CMake-forekomster, der deler nogle modificerbare ressourcer. Lignende logik anvendt på DIRECTORY option-locking parent directory forhindrer ikke andre LOCK kommandoer til at låse anychild mappe eller fil.

forsøg på at låse filen to gange er ikke tilladt. Eventuelle mellemliggende mapper ogfilen selv vil blive oprettet, hvis de ikke eksisterer. GUARD og TIMEOUTindstillinger ignoreret på RELEASE operation.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.