在cmake/Visual Studio项目中调试/运行可执行文件

3
我们正在从手动管理的Visual Studio项目转移到跨平台的cmake。
以前,我们会打开一个解决方案文件,选择一个项目作为“启动目标”,然后按下Ctrl+F5或F5来调试或运行。
现在,cmake有了这个“install”概念。它要求我运行“install”目标。但是安装项目没有设置任何可执行文件,因此无法用于调试。
如果我将我的可执行项目设置为启动目标,则“install”将不会运行,因此我无法进行调试。
我相信有更好的方法来解决这个问题。
有什么想法吗?

这个问题也让我们疯狂了。一个轻微的改进是通过上下文菜单中的“设置为启动项目”选项将INSTALL项目设置为默认项目。这似乎是如此基本,以至于一定有更好的方法。 - metasim
1个回答

5

如果您想分发应用程序,只需要运行INSTALL目标。如果选择构建可执行文件的项目(因此在CMakeLists.txt文件中有ADD_EXECUTABLE语句),则应使用F5或Ctrl + F5运行。

可能您的可执行文件需要在单独的目录中构建共享库。您可以通过以下CMake命令强制所有可执行文件和库都在同一目录中构建,这些命令应该放在主CMakeLists.txt文件中。

   SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/Bin/${CMAKE_BUILD_TYPE} CACHE PATH "Library output path")
   SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/Bin/${CMAKE_BUILD_TYPE} CACHE PATH "Executable output path")

如果您希望在调试时更好地控制要运行的命令,请查看此问题:如何使用CMake和Visual Studio设置路径环境变量以运行测试


1
这仍然是解决问题的推荐方案吗?或者在此期间,cmake已经扩展了内置解决方案? - Knitschi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接