Necktschnagge
Necktschnagge

Reputation: 427

Creating Visual Studio Project from CMake, Visual studio does not find executable

Basically, I've got the same question as in How to configure CMake so that the generated Visual Studio project finds the executable?. None of the answers there worked for me.

I have a CMake project, and I just want to create a Visual Studio 2019 Project from it:

Using travis everything compiles fine, too: https://travis-ci.com/Necktschnagge/markov_chain_analyzer/builds/144941090

You can see the code here: https://github.com/Necktschnagge/markov_chain_analyzer/tree/old

What do I need to do so that CMake creates a VS solution, that is well-configured so that I can run the debugger?

Upvotes: 3

Views: 1908

Answers (1)

Kevin
Kevin

Reputation: 18333

When you create a Visual Studio solution with CMake, it automatically sets the Startup Project to ALL_BUILD. This is a CMake pre-defined target, which builds all of the projects in the solution. It is not a project containing an executable that can be debugged.

You must change the Startup Project in your Solution Explorer to one of your executable projects before debugging. You can do this by right-clicking on the project you want to debug, and selecting Set as Startup Project. There are some more instructions here if you're using VS with CMake integration.

You can also tell CMake to set a different Startup Project by default when building CMake from scratch, using VS_STARTUP_PROJECT. Put something like this in your top-level CMake file:

set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT MyExeTarget)

Now, CMake will set MyExeTarget as the Startup Project in Visual Studio, instead of ALL_BUILD.

Upvotes: 10

Related Questions