avec Maintenant, j'ai la situation suivante: nous avons une configuration de la machine virtuelle en tant qu'hôte de construction forte> forte> et une machine de linux réelle différente comme une plate-forme ci cible forte>. p>
Je voudrais avoir faire installer code> Je peux copier mes fichiers binaires, configure etcetera vers un dossier cible pour l'exécution. P>
faire installer code> copier les fichiers directement dans un dossier de ma machine distante (via
SCP code> ou similaire). Comment puis-je atteindre cela? P>
5 Réponses :
une solution à votre problème est de p> faire code> peut fonctionner avec un préfixe spécifique lors de l'installation:
Le préfixe ne semble rien faire. Letdir travaille (comme dans l'autre réponse.) Cependant, le montage est la voie à suivre pour tout travailler à la fois (et le serveur peut être à distance à l'aide d'une monture SSH pour les ordinateurs réseau locaux.)
Vous pouvez souvent faire
scp /tmp/mydest.tgz remote:tmp/
En fait, je voudrais empêcher toutes ces étapes intermédiaires. Je suppose que Clake utilise une commande copie (cp) pour copier des fichiers. Il faut en quelque sorte être un moyen de dire à la cmake d'utiliser SCP à la place ...
Souvent, la source est livrée avec un fichier nommé "README". Le contenu de ce fichier pourrait donner un indice. Par exemple, PCRE-8.39 suggère d'utiliser faire dist code> et / ou
faire distcheck code> pour faire des builles.
@Basile StarynKevitch Pourquoi pas endommager directement à la place appropriée sans la copie?
Utilisation de CUMAKE 2.8.14, commande "add_custom_command" dans les CmAkelists.txt, peut également être utilisée: avantage: appeler uniquement lorsque la cible est reconstruisant. P> < / p>
avec copie les fichiers binaires installés localement sur le télécommande uniquement lorsque l'installation est invoquée. p> p> user code> Un ussurofile sur la machine
distant code> et une clé SSH configuré de manière préprière:
J'utilise cette solution:
install (CODE "execute_process(COMMAND scp -r -i /home/user/.ssh/id_rsa ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/. user@remote:/path/to/copy/)")
Eh bien, laissez exécuter
scp code>.