[cmake-developers] Visual Studio 2015 Makefile Project (GDB)

2016-02-07 Thread Cedric Perthuis
Hi,

Visual studio has a new interesting extension which adds the project type
"Makefile Project (GDB)".

I am interested in exploring adding this project type to cmake, and
probably to the Visual Studio 2015 generator.

It's used to build and debug a program using GDB over an SSH connection,
it's mainly targeted at developing Linux programs from the Visual Studio
IDE. It doesn't include the build, it only hooks the build command of VS to
a user defined windows command. Up to that command to use SSH to execute
code on the target.

It's a VS 2015 NMake project type with 3 config files for build command,
run command, and SSH parameters. Some of the interesting parts of the
vcxproj


LinuxDebugger
ssh
gdb
gdb
{8E0AD268-B47B-4ED3-B9E0-F93E5CB1077B}
  

 
Makefile
true
v140
  

 

false
false
<_ApplicableDebuggers>Desktop
LinuxDebugger
  

And the 3 config files:
  



  

Neither the project nor the config files include any source file (I am sure
we can add cpp files but they won't be associated with any compiler). The
project has slots for build and debug command. As a user you have to write
a build command which transfers of sources via SSH and do the compilation
yourself.

Here's an example of build command that the user can use

build.bat $(RemoteHostName) $(RemoteUserName) $(PrivateKey)
$(SecureShellExecutable) $(RemoteWorkingDirectory) $(RemoteExecutable)

The build.bat would be something along those lines:
"%SecureShellExecutable%" %RemoteUserName%@%RemoteHostName% -i
"%PrivateKey%" "mkdir -p %RemoteWorkingDirectory%"
"%SecureShellCopy%" -i "%PrivateKey%" source.cpp  %RemoteUserName%@
%RemoteHostName%:%RemoteWorkingDirectory%/source.cpp
"%SecureShellExecutable%" %RemoteUserName%@%RemoteHostName% -i
"%PrivateKey%" "cd %RemoteWorkingDirectory%;g++ -g source.cpp -o
%RemoteExecutable%"

Adding a generator for this is probably straightforward, but to respect the
format of the other cmake (and make it easier for the developer), I think
it should go further and also generate a linux makefile.

- the vs2015 generator can be augmented to create this new project type
- the linux makefile can already be generated from the makefile generator.

My question is what would be a good way to combine those 2. I was thinking
of trying to invoke the makefile generator from the vs2015 generator?

Any thoughts or advice?

Thanks,
Cedric
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

Re: [cmake-developers] Visual Studio 2015 Makefile Project (GDB)

2016-02-07 Thread Cedric Perthuis
I did some experiments, and I think it's a bit easier than I thought. I
don't think I need to generate the linux makefile from the Visual Studio
generator on windows. I would just add few new cmake options for the Visual
Studio GDB project type and among those the "build command" option.
And as a user, in the build command option, I can simply execute a script
on the target which calls cmake there to generate the makefile and then
call make.

On Sun, Feb 7, 2016 at 4:01 PM, Cedric Perthuis <cedric.perth...@gmail.com>
wrote:

> Hi,
>
> Visual studio has a new interesting extension which adds the project type
> "Makefile Project (GDB)".
>
> I am interested in exploring adding this project type to cmake, and
> probably to the Visual Studio 2015 generator.
>
> It's used to build and debug a program using GDB over an SSH connection,
> it's mainly targeted at developing Linux programs from the Visual Studio
> IDE. It doesn't include the build, it only hooks the build command of VS to
> a user defined windows command. Up to that command to use SSH to execute
> code on the target.
>
> It's a VS 2015 NMake project type with 3 config files for build command,
> run command, and SSH parameters. Some of the interesting parts of the
> vcxproj
>
> 
> LinuxDebugger
> ssh
> gdb
> gdb
> {8E0AD268-B47B-4ED3-B9E0-F93E5CB1077B}
>   
>
>   Label="Configuration">
> Makefile
> true
> v140
>   
>
>  
>
> false
> false
> <_ApplicableDebuggers>Desktop
> LinuxDebugger
>   
>
> And the 3 config files:
>   
> 
> 
> 
>   
>
> Neither the project nor the config files include any source file (I am
> sure we can add cpp files but they won't be associated with any compiler).
> The project has slots for build and debug command. As a user you have to
> write a build command which transfers of sources via SSH and do the
> compilation yourself.
>
> Here's an example of build command that the user can use
>
> build.bat $(RemoteHostName) $(RemoteUserName) $(PrivateKey)
> $(SecureShellExecutable) $(RemoteWorkingDirectory) $(RemoteExecutable)
>
> The build.bat would be something along those lines:
> "%SecureShellExecutable%" %RemoteUserName%@%RemoteHostName% -i
> "%PrivateKey%" "mkdir -p %RemoteWorkingDirectory%"
> "%SecureShellCopy%" -i "%PrivateKey%" source.cpp  %RemoteUserName%@
> %RemoteHostName%:%RemoteWorkingDirectory%/source.cpp
> "%SecureShellExecutable%" %RemoteUserName%@%RemoteHostName% -i
> "%PrivateKey%" "cd %RemoteWorkingDirectory%;g++ -g source.cpp -o
> %RemoteExecutable%"
>
> Adding a generator for this is probably straightforward, but to respect
> the format of the other cmake (and make it easier for the developer), I
> think it should go further and also generate a linux makefile.
>
> - the vs2015 generator can be augmented to create this new project type
> - the linux makefile can already be generated from the makefile generator.
>
> My question is what would be a good way to combine those 2. I was thinking
> of trying to invoke the makefile generator from the vs2015 generator?
>
> Any thoughts or advice?
>
> Thanks,
> Cedric
>
>
>
>
>
>
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers