使用 cmake,构建一个具有依赖项的 visual studio 项目,也能够调试到依赖项中
using cmake, build a visual studio project with dependencies, being able to debug also into the dependencies
我有一个具有多个依赖项(C++ 包、编译库和源代码)的 C++ 项目源代码。
我需要创建一个 CMake 文件,它将生成 Visual Studio 解决方案和项目文件,如果我在其中一个依赖项源代码中放置一个断点,则主项目在调试模式下的执行将会中断并在依赖项的断点处进行调试。
非常感谢任何建议。
[编辑]
如果我使用提供的包...config.cmake 文件,源文件不包含在生成的项目中。
如果我单独生成 MS 项目并使用 include_external_msproject
将它们放在一个解决方案中,我有源代码,但它是从其他地方(二进制文件)执行的,所以我的断点被忽略了。
另一方面,如果我想使用 add_subdirectory
将 deps 添加到主项目,则重复的目标有重叠,例如 DOCUMENTATION
,它们来自每个依赖项
您需要使用适当的编译选项编写 CMakeLists.txt。为此,您可以在 CMakeLists.txt 文件中设置以下 CMake 值:
set(CMAKE_CXX_FLAGS "your-msvc-debug-options")
或 set(CMAKE_CXX_DEBUG_FLAGS "your-msvc-debug-options")
。您也可以使用 add_compile_options()
为您的所有项目设置值(如果您使用 CMake 构建它们,则包括依赖项)
我最终修改了依赖项,以便它们为文档实现唯一的目标名称,但如果单独构建以创建原始命名目标:DOCUMENTATION。
doxygen_add_docs(DOCUMENTATION_${PROJECT_NAME}
doc
src/component
)
if (NOT (TARGET DOCUMENTATION))
add_custom_target(DOCUMENTATION COMMENT "workaround for multi-dependencies project")
add_dependencies(DOCUMENTATION DOCUMENTATION_${PROJECT_NAME})
endif()
我有一个具有多个依赖项(C++ 包、编译库和源代码)的 C++ 项目源代码。 我需要创建一个 CMake 文件,它将生成 Visual Studio 解决方案和项目文件,如果我在其中一个依赖项源代码中放置一个断点,则主项目在调试模式下的执行将会中断并在依赖项的断点处进行调试。 非常感谢任何建议。
[编辑]
如果我使用提供的包...config.cmake 文件,源文件不包含在生成的项目中。
如果我单独生成 MS 项目并使用 include_external_msproject
将它们放在一个解决方案中,我有源代码,但它是从其他地方(二进制文件)执行的,所以我的断点被忽略了。
另一方面,如果我想使用 add_subdirectory
将 deps 添加到主项目,则重复的目标有重叠,例如 DOCUMENTATION
,它们来自每个依赖项
您需要使用适当的编译选项编写 CMakeLists.txt。为此,您可以在 CMakeLists.txt 文件中设置以下 CMake 值:
set(CMAKE_CXX_FLAGS "your-msvc-debug-options")
或 set(CMAKE_CXX_DEBUG_FLAGS "your-msvc-debug-options")
。您也可以使用 add_compile_options()
为您的所有项目设置值(如果您使用 CMake 构建它们,则包括依赖项)
我最终修改了依赖项,以便它们为文档实现唯一的目标名称,但如果单独构建以创建原始命名目标:DOCUMENTATION。
doxygen_add_docs(DOCUMENTATION_${PROJECT_NAME}
doc
src/component
)
if (NOT (TARGET DOCUMENTATION))
add_custom_target(DOCUMENTATION COMMENT "workaround for multi-dependencies project")
add_dependencies(DOCUMENTATION DOCUMENTATION_${PROJECT_NAME})
endif()