Byggingarumbúðir geta leyft þér að bæta við CMake rökum á meðan þær fela umhverfið sem CMake er ræst í. Snemma verkefnakrókur gefur þér einn stað til að útvega milliþjónagildi stillingarferlisins.

Geymdu litla skrá á stöðugri, algildri slóð, til dæmis /home/alex/cmake/proxy-env.cmake:

set(ENV{http_proxy} "http://proxy.example:8080")
set(ENV{https_proxy} "http://proxy.example:8080")

Sendu þá skrá til stillingarinnar:

cmake -S . -B build -DCMAKE_PROJECT_INCLUDE_BEFORE=/home/alex/cmake/proxy-env.cmake

CMAKE_PROJECT_INCLUDE_BEFORE inniheldur skrána í upphafi hvers project()-kalls. Hún keyrir því fyrr en CMAKE_PROJECT_INCLUDE, sem keyrir við lok þess kalls. Þessi greinarmunur skiptir máli þegar tungumálauppsetning eða innfellt verkefni þarf slóðina.

Fyrir opinberar niðurhalstölur á stillingartíma sem eru leyfðar í gegnum opinbera milliliði, veldu HTTP-URL-gildin úr HTTP-milliþjónalistanum. Krókurinn getur samt ekki haft áhrif á vinnu sem fór fram á undan honum, þar á meðal niðurhal fyrir fyrsta project()-kallið. Hann skrifar heldur ekki varanlega umhverfisstillingu stýrikerfisins.

Ferlar sem þessi CMake-ferill ræsir síðar geta erft gildin, að því gefnu að netbiðlarar þeirra styðji þau. Síðari bygging sem er ræst sérstaklega hefur sitt eigið umhverfi. Niðurhal sem er frestað til þess byggingarstigs verður líka að fá milliþjón sinn þar.

Haltu krókaskránni utan opinbers upprunatrés þegar hún inniheldur einkatengingarupplýsingar. -D rökin geyma krókaslóðina sem CMake breytu; set(ENV{...}) breytir umhverfi ferilsins sem keyrir í stað þess að gera skyndiminnisbreytu að milliþjónastillingu.

Tengdir greinar