I recently had a need, or desire, to develop c++ code on Eclipse in windows, but have it build remotely on a specially configured linux box.  Here's how I did it:
- Get Cygwin and make sure ssh.exe and rsync.exe are installed with it.
 - I created a make.exe file out of the following (which I put in C:\WINDOWS):
 
#include 
#include 
main(int argc, char * argv[])
{
char str[200] = "make.bat";
int i = 0;
for (i = 1; i < tmp =" argv[i];">- I created a make.bat out of the following (which I put in C:\WINDOWS):
 
@echo off
set CURDIR=%cd%
chdir C:\Documents and Settings\g...ROOT OF PROJECT HERE
C:\cygwin\bin\rsync.exe -rave C:\cygwin\bin\ssh.exe . guser@192.168.0.1:~/remoteBuild
C:\cygwin\bin\ssh.exe guser@192.168.0.1 python remoteBuild.py """%CURDIR% --- %*"""
- On the remote machine, I created a remoteBuild.py with the following (left in my homedir).  This code is highly customized, so you will probably need to modify it.  What it basically does is it converts C:\.... to a linux style path.
 
def main():
 args = sys.argv
 argsFromWindows = args[1]
 print "received: " + argsFromWindows
 path, buildArgs = argsFromWindows.split("---")
 relPath = path.split("CUST")[2].replace("\\","/").strip("/")
 print "relPath: " + relPath
 print "buildArgs: " + buildArgs
 curDir = os.popen('cd remoteBuild/%s; make %s' % (relPath, buildArgs))
 print curDir.read()
if __name__ == "__main__":
 main()
- Now I can use eclipse's build button.  It creates the makefiles locally on the machine, rsync's them over, builds them, and then spits back any errors/warnings to me.
 
 
No comments:
Post a Comment