Build and run an external project

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Build and run an external project

James Bigler
I have an external project that I would like to compile using their build system, and be able to set the VS_COMMAND to the result of the project so I can run it.

      add_custom_target(${cmake_target}
        COMMAND make mytarget ${BUILD_ARGS}
        COMMAND ${CMAKE_COMMAND} -E copy_if_different  ${PATH_TO_EXTERNAL}/mytarget.exe ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$<CONFIG>
        WORKING_DIRECTORY ${PATH_TO_EXTERNAL}
        )
      set_property( TARGET ${cmake_target} PROPERTY VS_DEBUGGER_COMMAND "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$<CONFIG>/mytarget.exe" )

The VS_DEBUGGER_COMMAND works for targets such as add_executable, but not for add_custom_target.

Is there a way to get what I want?

Note that this is part of a larger CMake project that builds most of the other stuff using CMake, but I have a few external projects that I would like as part of the main solution.

Thanks,
James

--

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:
https://cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Build and run an external project

Eric Noulard
Did you check whether if

wouldn't be better in your case?


Le mar. 4 déc. 2018 01:43, James Bigler <[hidden email]> a écrit :
I have an external project that I would like to compile using their build system, and be able to set the VS_COMMAND to the result of the project so I can run it.

      add_custom_target(${cmake_target}
        COMMAND make mytarget ${BUILD_ARGS}
        COMMAND ${CMAKE_COMMAND} -E copy_if_different  ${PATH_TO_EXTERNAL}/mytarget.exe ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$<CONFIG>
        WORKING_DIRECTORY ${PATH_TO_EXTERNAL}
        )
      set_property( TARGET ${cmake_target} PROPERTY VS_DEBUGGER_COMMAND "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$<CONFIG>/mytarget.exe" )

The VS_DEBUGGER_COMMAND works for targets such as add_executable, but not for add_custom_target.

Is there a way to get what I want?

Note that this is part of a larger CMake project that builds most of the other stuff using CMake, but I have a few external projects that I would like as part of the main solution.

Thanks,
James
--

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:
https://cmake.org/mailman/listinfo/cmake

--

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:
https://cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Build and run an external project

James Bigler
Unfortunately I don't think your suggestion will work.

I need to invoke a custom executable to build my project and not a msproject.  I also need to copy the executable into the build directory.


On Mon, Dec 3, 2018 at 9:55 PM Eric Noulard <[hidden email]> wrote:
Did you check whether if

wouldn't be better in your case?


Le mar. 4 déc. 2018 01:43, James Bigler <[hidden email]> a écrit :
I have an external project that I would like to compile using their build system, and be able to set the VS_COMMAND to the result of the project so I can run it.

      add_custom_target(${cmake_target}
        COMMAND make mytarget ${BUILD_ARGS}
        COMMAND ${CMAKE_COMMAND} -E copy_if_different  ${PATH_TO_EXTERNAL}/mytarget.exe ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$<CONFIG>
        WORKING_DIRECTORY ${PATH_TO_EXTERNAL}
        )
      set_property( TARGET ${cmake_target} PROPERTY VS_DEBUGGER_COMMAND "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$<CONFIG>/mytarget.exe" )

The VS_DEBUGGER_COMMAND works for targets such as add_executable, but not for add_custom_target.

Is there a way to get what I want?

Note that this is part of a larger CMake project that builds most of the other stuff using CMake, but I have a few external projects that I would like as part of the main solution.

Thanks,
James
--

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:
https://cmake.org/mailman/listinfo/cmake

--

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:
https://cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Build and run an external project

Eric Noulard


Le mar. 4 déc. 2018 à 06:11, James Bigler <[hidden email]> a écrit :
Unfortunately I don't think your suggestion will work.

I need to invoke a custom executable to build my project and not a msproject.  I also need to copy the executable into the build directory.

Sorry I miss the fact that you moved the executable around and was not a "regular" compile.
I've read your message too fast, obviously, sorry.

I'm not much a Visual Studio user and it has been a long time since I need to compile something on windows.

You basically require that an executable not built by VS appears as a "runnable/debuggable" target in VS?
Are you able to do that from VS "manually" ?  

Again I'm no VS/Windows specialist so others may have more valuable remark on that.

--
Eric

--

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:
https://cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Build and run an external project

James Bigler
Yes, I'm able to do it manually using the custom target I created with add_custom_target, by editing the debug properties to get a runnable object.  I was hoping that the VS_DEBUGGER_COMMAND used for add_executable would also work with the add_custom_target, but alas they don't.

On Tue, Dec 4, 2018 at 12:54 AM Eric Noulard <[hidden email]> wrote:


Le mar. 4 déc. 2018 à 06:11, James Bigler <[hidden email]> a écrit :
Unfortunately I don't think your suggestion will work.

I need to invoke a custom executable to build my project and not a msproject.  I also need to copy the executable into the build directory.

Sorry I miss the fact that you moved the executable around and was not a "regular" compile.
I've read your message too fast, obviously, sorry.

I'm not much a Visual Studio user and it has been a long time since I need to compile something on windows.

You basically require that an executable not built by VS appears as a "runnable/debuggable" target in VS?
Are you able to do that from VS "manually" ?  

Again I'm no VS/Windows specialist so others may have more valuable remark on that.

--
Eric

--

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:
https://cmake.org/mailman/listinfo/cmake