With make install
我可以將我的二進制文件,配置等複製到目標文件夾執行。cmake「make install」到遠程機器?
現在我有以下的情況:我們有一個虛擬機設置爲構建主機,和不同的真正的Linux機器作爲目標平臺。
我想make install
將文件直接複製到我的遠程機器上的文件夾中(通過scp
或類似的方式)。我怎樣才能做到這一點?
With make install
我可以將我的二進制文件,配置等複製到目標文件夾執行。cmake「make install」到遠程機器?
現在我有以下的情況:我們有一個虛擬機設置爲構建主機,和不同的真正的Linux機器作爲目標平臺。
我想make install
將文件直接複製到我的遠程機器上的文件夾中(通過scp
或類似的方式)。我怎樣才能做到這一點?
make
可以在安裝過程中使用特定的前綴操作:
make prefix=$dest/usr install
一個解決問題的方法是
前綴似乎沒有做任何事情。 DESTDIR的工作原理(與其他答案一樣)。然而,安裝是一次性完成所有工作的方式(並且服務器可以遠程使用本地網絡計算機的SSH掛載)。 –
你的命令往往可以做
make install DESTDIR=/tmp/mydest/
然後歸檔文件目標目錄
tar czvf /tmp/mydest.tgz -C /tmp mydest
然後複製存檔到遠程地點
scp /tmp/mydest.tgz remote:tmp/
最後,解壓縮在遠程歸檔,並在適當的地方
其實我想防止所有這些中間步驟。我猜cmake使用複製(cp)命令來複制文件。必須以某種方式告訴cmake使用scp來代替...... – Danoo
DESTDIR與cmake Makefiles一起工作。正是我需要的。 –
通常,源代碼會附帶一個名爲「README」的文件。該文件的內容可能會提供一些線索。例如pcre-8.39建議使用'make dist'和/或'make distcheck'來製作tarball。 –
複製使用cmake 2.8.14,命令「add_custom_command」到的CMakeLists.txt,也可用於:
add_custom_command(TARGET my_target POST_BUILD COMMAND scp $<TARGET_FILE:my_target> [email protected]_host:dest_dir_path)
優點:只在目標重建時調用。
那麼,讓執行'scp'。 – 2012-01-23 11:20:44