Comment faire pour modifier des variables d'environnement adopté la coutume de CMake cible?

Peut-être que je suis absent quelque chose d'évident, mais je n'arrive pas à comprendre comment la définir explicitement les variables d'environnement qui peuvent être vus par les processus lancés par add_custom_target().

J'ai essayé le suivant:

set(ENV{PATH} "C:/Some/Path;$ENV{PATH}")
add_custom_target(newtarget somecommand)

Malheureusement, la %PATH% variable d'environnement apparaît inchangé à somecommand. (J'ai mis en place un Gist qui reproduit le problème ici.)

Ce que je fais mal?

  • Je suggère que, puisque vous êtes la création d'un nouveau processus (à partir de vos commentaires), puis le nouveau processus sera fourni ses propres environemt, de ne pas hériter de l'environnement du processus principal. Si vous créer un processus fils du processus principal, puis à l'environnement devraient être héréditaire, mais je ne sais rien de cmake alors, j'ai peut être moyen de sortir d'ici. Vous devez cependant utiliser backslash annuaire-séparateurs, pas / comme / est un commutateur de préfixe. Parfois / fonctionne heureusement, mais ce n'est pas fiable.
InformationsquelleAutor Nathan Osman | 2016-01-27