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